云起工作室 15711107967
18-json
2025-02-06 10:43:11

string jsonstr = R"(

{

"name":"zhangsan",

"Age":18,

"sex":"nan"

}

)";

1、QT 自带json

#include<QJsonDocument>

#include<QJsonObject>

//将字符串转成json

QString qstr = QString::fromStdString(jsonstr);


QByteArray jbyte =qstr.toLocal18Bit();

QJsonParseError error;

QJsonDocument jdoc =QJsonDocument::fromJson(jbyte, &error);

QJsonBoject jobj=jdoc.object();

QString name = jobj['name'];

int age = jobj['age'].toInt();


将对象转成json字符串

QJsonObject obj;

obj.insert("name":"zhangsan");

QBtyteArray = byte_array = QJsonDocuent(obj).toJson()



2、nlohmann json

GitHub - nlohmann/json: JSON for Modern C++


将json.cpp 放到项目根目录 并应用

#include "json.hpp"

using json_t = nlohmann::json; 领取别名


//对象转json

json_t obj;

obj['name'] = "张三";

string jsonStr = obj.dump();


//json字符串转对象

try{

json_t obj2 = jsonStr.parse(jsonStr);

}