Qt 涉及的文章,为避免重复,原简书已有的链接到简书

295 阅读1分钟

[Qt解析json](QJson - 简书 (jianshu.com))

苏丙榲老师的json文章 Json | 爱编程的大丙 (subingwen.cn) 简要总结Qt解析json步骤:

  • QFile --> QJsonDocument --> QJsonObject
  • QJsonObject --> std::string
QJsonObject::value("ROD_IxAlasticStripBroke").toString().toStdString();
  • QJsonObject --> bool
QJsonObject::value("ROD_IxTrackDisAbnormal").toBool();
  • QJsonObject --> double
QJsonObject::value("ROD_IxSurfaceAbrasions").toVariant().toInt();
  • QJsonObject --> int
QJsonObject::value("ROD_IxTrackDisAbnormal").toInt();

  • Qt中生成如图所示的json数据

  • 涉及到的数据结构:
    • QJsonArray 数组
    • QJsonObject 键值对
    • QJsonDocument 最终由它承接整个QJsonObject
      示例代码
QJsonArray json_array_list_ip_cams;
for(auto& each : vec_dev_info_in)    json_array_list_ip_cams.append(each.ip.c_str());

QJsonObject json_obj;
json_obj.insert("group", group.c_str());
json_obj.insert("list_ip_cameras", json_array_list_ip_cams);
json_doc.setObject(json_obj);