首页天道酬勤ajax获取json数据并显示,qt moc文件怎么生成

ajax获取json数据并显示,qt moc文件怎么生成

张世龙 05-05 13:59 32次浏览

文章目录1、生成json1.1、生成对象类型json1.2、生成数组类型json 2、分析json文件

1、生成json 1.1、生成对象类型JSON # includeqcoreapplication # includeqjsondocument # includeqjsonarray # includeqjsonobject # includeqqsond 创建includeqdebugvoidwritejsonobjtofile () json对象QJsonObject json; 在json对象中插入值JSON.insert('name ',' xiaoxiao ' ); Jon.insert('Agr ',21 ); Jon.insert('sex ',' man ' ); //插入子对象QJsonObject subjson; subjson.insert('Father ','父亲'); subjson.insert('mather ','母亲'); //子对象的目标值JSON.insert('family ',subjson ); 插入json数组QJsonArray jsonArr; JonArr.append(10; JonArr.append('XXXX ' ); JonArr.append(true; JSON.insert('cou ',jsonArr ); 将QJsonObject转换为qjsondocumentqjsondocumentjsondoc (JSON )//QJsonDocument对象是QByteArray对象qbytearraybytearray=JSON //文件qfilefile (d : (Qt _ project (Qt _ JSON _ 1208 (test.JSON ) ) ); //文件file.open (qiodevice :3360 write only ); //写文件file.write(bytearray )//关闭文件file.close (; 返回; }

1.2、数组类型JSON # includeqjsondocument # includeqjsonarray # includeqjsonobject # includeqbytearray # includeqjsonvalue # inclue ARR.append(true; 向arrzhong QJsonArray subarr添加子数组; Ubarr.append(Xiaoxiao ); Ubarr.append('Chiese ' ); ARR.append(Subarr; 将对象添加到阵列中的QJsonObject subObj; subobj.insert('mother ','母亲'); subobj.insert('Father ','父亲'); ARR.append(Subobj; qjsondocumentJSONdoc(ARR; //QJsonDocument对象是QByteArray对象qbytearraybytearray=JSON doc.to JSON (; //文件写qfilefile (d : (Qt _ project (Qt _ JSON _ 1208 (test _ arr.JSON ) ) )//文件file.open (qiodevice vice ) //写文件file.write(bytearray )//关闭文件file.close (; }

2、解析json文件解析json文件,一般根据自己的json文件写对应的解析函数

# includeqjsondocument # includeqjsonarray # includeqjsonobject # includeqbytearray # includeqjsonvalue # includeqfile # inclurued //文件file.open (qiodevice :3360 readonly ); //qbytearraybytearr=file.read all (; 将QByteArray对象转换为qjsondocumentqjsondocumentjsondoc=qjsondocument 3360: from JSON (byte arr ); //判断为数组函数对象if(JSONdoc.isobject () qjsonobjectjsonobj=JSON doc.object ) ); //获取对象的key值QStringList keys=jsonObj.keys (; for(intI=0; ikeys.size (; I ) (/每个密钥值QString key=keys.at(i ) I ); //qDebug () key': ); //key值到value值qjsonvaluejsonvalue=JSON obj.value (key ); value值类型if(JSONvalue.isstring () { qDebug ) ) key':'jsonValue.toString ); }elseif(JSONvalue.isdouble () { qDebug ) ) key':'jsonValue.toInt ); }elseif(JSONvalue.isbool () { qDebug ) ) key':'jsonValue.toBool ); }elseif(JSONvalue.isobject () /子对象qjsonobjectsubobj=JSON value.to object ); QStringList subkeys=subobj.keys (; q调试(密钥) : ); for(intk=0; ksubkeys.size (; k({qstringsubkey=subkeys[k]; qsonvaluesubjsonvalue=subobj.value (subkey ); qDebug () ' subjsonValue.toString ); }elseif(JSONvalue.isarray () /子序列qDebug ) ) key':[ ); qsonarrayjsonarr=JSON value.to array (; for(intj=0; jjsonarr.size (; j ) { QJsonValue va=jsonarr[j]; if(va.isstring () { qDebug ) ) ' ' va.toString ); } } qDebug (() ) ) ); }}elseif(JSONdoc.isarray () ) qjsonarrayjsonarr=JSON doc.array ); }

如何解析json,java解析复杂json格式数据