在Qt中解析JSON并向子对象中添加值的示例代码如下所示:
#include <QJsonDocument>
#include <QJsonObject>
int main()
{
// 假设你已经获取到了原始的JSON字符串 data,例如:
QString data = "{\"child\":{\"key\":\"value\",\"anotherKey\":\"anotherValue\"}}";
// 解析JSON字符串为 JSON 文档对象
QJsonDocument doc = QJsonDocument::fromJson(data.toUtf8());
if(!doc.isNull())
{
if(doc.isObject())
{
// 获取根对象
QJsonObject rootObj = doc.object();
// 获取子对象 child
QJsonValue childValue = rootObj.value("child");
if(childValue.isObject())
{
// 将新的键值对加入到子对象中
QJsonObject childObj = childValue.toObject();
childObj.insert("newKey", "newValue");
// 更新子对象
rootObj["child"] = childObj;
// 重新生成 JSON 文档
doc.setObject(rootObj);
// 转换为字符串输出
QString updatedData = QString::fromUtf8(doc.toJson(QJsonDocument::Indented));
qDebug() << updatedData;
}
}
}
return 0;
}
运行上述代码,将会输出更新后的JSON字符串,其中子对象中包含了新的键值对:
{
"child": {
"key": "value",
"anotherKey": "anotherValue",
"newKey": "newValue"
}
}
这样就实现了向解析出来的JSON的子对象中添加新值的操作。请注意,以上代码仅为示例,你需要根据实际情况进行适当的修改。
内容由零声教学AI助手提供,问题来源于学员提问