QJson解析数据基本用法
2016-10-24 20:14
393 查看
#include <QJsonParseError> #include <QJsonDocument> #include <QJsonObject> #include <QJsonArray> ... QString str = "{\"errno\":0,\"errmsg\":\"\",\"data\":{\"appid\":\"134304921\",\"rid\":-58474238,\"sign\":\"a9a6dee9633e76c3e21253cbd65ea361\",\"authType\":\"3\",\"ts\":1477290743000,\"chat_addr_list\":[\"54.222.202.135:443\",\"54.222.183.38:443\"]}}"; QJsonParseError jsonError; QJsonDocument jsonDoc = QJsonDocument::fromJson(str.toLatin1(), &jsonError); if(jsonError.error == QJsonParseError::NoError) { if(jsonDoc.isObject()) { QJsonObject obj = jsonDoc.object(); if(obj.contains("data")) { QJsonValue value= obj.take("data"); if(value.isObject()) { qDebug()<< "data is object"; QJsonObject dataObj = value.toObject(); qDebug() << QString(QJsonDocument(dataObj).toJson()); if(dataObj.contains("appid")) { dataObj.take("appid").toString(); } if(dataObj.contains("chat_addr_list")) { QJsonValue value_list = dataObj.take("chat_addr_list"); if(value_list.isArray()) { QJsonArray arr = value_list.toArray(); qDebug() << arr.size(); for(int i = 0; i < arr.size(); i++) { QJsonValue value = arr.at(i); if(value.isString()) qDebug() << value.toString(); } } } } } // if(obj.contains("errno")) } }
相关文章推荐
- js解析与序列化json数据(一)json.stringify()的基本用法
- js解析与序列化json数据(一)json.stringify()的基本用法
- js解析与序列化json数据(一)json.stringify()的基本用法
- Android数据格式解析对象JSON用法
- 模拟QQ侧滑控件 实现三种界面切换效果(知识点:回调机制,解析网络json数据,fragment用法等)。
- Android JSON数据解析详细用法
- Python解析JSON数据的基本方法
- Android数据格式解析对象JSON用法
- Android-数据格式解析对象JSON用法
- Android数据格式解析对象JSON用法
- Android数据格式解析对象JSON用法
- FastJson和Gson和Json数据解析分析和用法
- Android数据格式解析对象JSON用法
- Android数据格式解析对象JSON用法
- FastJson和Gson和Json数据解析分析和用法
- Android数据格式解析对象JSON用法
- Android 数据格式解析对象 JSON 用法
- Android数据格式解析对象JSON用法
- Android数据格式解析对象JSON用法
- 使用Python解析JSON数据的基本方法