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);
}