Qt读取json文档内容

来源:互联网 发布:c语言有多少个函数 编辑:程序博客网 时间:2024/06/05 21:57
test.json文档格式如下:
{
 "contents":[                            //数组
   {                                            //object1
      "key1":"键值1",
      "key2":"键值2"
      ……
   },
  
   {                                            //object2
      "key1":"键值1",
      "key2":"键值2"
      ……
   },
  
   {                                            //object3
      "key1":"键值1",
      "key2":"键值2"
      ……
   },
   ……
 ],
 "status":"success"
}

读取content内的数组对象,获取每个对象的key1,key2的值。
QTextCodec *codec = QTextCodec::codecForName("utf-8");QTextCodec::setCodecForLocale(codec);QFile file("D:\\test.json");if (file.open(QIODevice::ReadOnly)){QByteArray Data = file.readAll();QJsonDocument jsonDoc(QJsonDocument::fromJson(Data));if (jsonDoc.isObject()){QJsonArray arr = obj["contents"].toArray();if (!arr.isEmpty() && arr[0].isObject()){for (int j = 0; j < arr.size(); j++){QJsonObject itemObj = arr[j].toObject();QString value1 = codec->toUnicode(itemObj["Key1"].toString().toLocal8Bit());QString value2 = codec->toUnicode(itemObj["Key2"].toString().toLocal8Bit());if (!value1.isEmpty() && !value2.isEmpty()){//对数据value1和value2进行操作}}}}}file.close();