Qt中使用json格式封裝資料及解析資料

2021-08-29 10:01:14 字數 1651 閱讀 8775

由於json格式的資料閱讀起來簡單方便,也便於機器解析與生成。在最近的專案中,使用json格式的資料可以快速的傳輸,首次使用這種格式,所以把自己的封裝陣列的使用心得記錄下來。

qjsonobject json;

qjsonarray   array;

json.insert("x","100");
json.insert("y","200");
array.push_back(json); 

qjsondocument jsondoc(array);

qbytearray strarray = jsondoc.tojson(qjsondocument::indented);

qstring string(strarray);

qjsonobject strjson;

strjson.insert("date",string);

strjson.insert("time","2018.10.19");

qjsondocument strdocument;

strdocument.setobjects(strjson);

qbytearray ary = strdocument.tojson(qjsondocument::indented);
最終的結果為 ]" ,"time" : "2018.10.19"}

解析上面的json資料

qjsonparseerror error;

qjsondocument document = qjsondocument::fromjson(ary, &jsonerror);

if(!document.isnull() &&(error.error = qjsonparseerror::noerror)

if(document.isobject())

qjsonobject object = document.object();

qjsonobject::iterator it;

for(it = object.begin;it != object.end;it++)

qstring key = it.key();

qstring value = it.value().tostring();

if("time" == key)

qdebug()<<"time:"if(it.value.isarray())

qjsonarray array = it.value().tostring();

for(int i = 0;i < array.count(); i ++)

qjsonvalue value = array.at(i);

qjsonobject object = value.toobject();//轉化為物件

qjsonobject::iterator it;

for(it = object.begin();it != object.end();it ++)

qstring key = it.key();

qstring value = it.value().tostring();

if("ux" == key)

qdebug()<<"ux:"qdebug()<<"uy:"<

在Qt使用JSON格式資料

主要類為 sonarray sondocument sonobject1.傳送json資料 建立json物件 sonobject root obj 新增鍵值對,值的型別自動識別,順序不可自定義 root obj.insert id 4 root obj.insert status 1 root ob...

flex中使用json格式

要用到json,看了一篇 的掃盲貼,在flex中使用json十分方便。json是介於純文字方式與xml方式之間的一種格式,json能做到的事情,xml完成可以做到。為什麼要用json呢,我看大部分還是像我一樣,不得不用。json是ajax資料傳輸的首選,現有的專案使用的已經是json,如果增加fle...

Ajax中使用Json傳遞資料

首先在action中將ques物件放進json物件中 jsonobject obj new jsonobject obj.put quesid ques.get quesid tostring obj.put content ques.get content tostring obj.put opt...