Qt Json 处理

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();
}
"{
"type":"data",
"timestamp":1647321600,
"resourceType":"ip"#或端口,
data:{
"DeviceType":"预处理机",
"status":"正在实验"
}
}"
#include <QJsonDocument>
#include <QJsonObject>
// 假设您有一个QString对象jsonString,其中包含JSON数据
// 将JSON数据转换为QJsonDocument对象
QJsonDocument doc = QJsonDocument::fromJson(jsonString.toUtf8());
// 获取JSON对象
QJsonObject obj = doc.object();
// 获取"data"对象
QJsonObject dataObj = obj.value("data").toObject();
// 获取"status"字段
QString status = dataObj.value("status").toString();
posted @   simp00  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示