chatgpt
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>
// 从 JSON 字符串中解析数据
void parseJson(const QString& jsonString)
{
// 将 JSON 字符串转换为 QJsonDocument 对象
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
// 判断转换是否成功
if (!jsonDoc.isNull() && jsonDoc.isObject()) {
// 获取 QJsonObject 对象
QJsonObject jsonObj = jsonDoc.object();
// 获取指定字段的值
int id = jsonObj.value("id").toInt();
QString name = jsonObj.value("name").toString();
bool isEnabled = jsonObj.value("isEnabled").toBool();
// 输出结果
qDebug() << "id:" << id;
qDebug() << "name:" << name;
qDebug() << "isEnabled:" << isEnabled;
} else {
qDebug() << "JSON 格式错误";
}
}
// 将数据转换为 JSON 字符串
void toJsonString()
{
// 创建 QJsonObject 对象
QJsonObject jsonObj;
jsonObj.insert("id", 123);
jsonObj.insert("name", "张三");
jsonObj.insert("isEnabled", true);
// 将 QJsonObject 对象转换为 QJsonDocument 对象
QJsonDocument jsonDoc(jsonObj);
// 将 QJsonDocument 对象转换为 JSON 字符串
QString jsonString = QString::fromUtf8(jsonDoc.toJson());
// 输出结果
qDebug() << jsonString;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 解析 JSON 数据
QString jsonString = "{\"id\":123, \"name\":\"张三\", \"isEnabled\":true}";
parseJson(jsonString);
// 将数据转换为 JSON 字符串
toJsonString();
return a.exec();
}
标签:jsonObj,Qt,处理,value,Json,jsonDoc,include,QJsonDocument
From: https://www.cnblogs.com/simp/p/17235998.html