繁体   English   中英

在 QJsonObject 中修改 QJsonArray?

[英]Modifying an QJsonArray within a QJsonObject?

如何修改已经在 QJsonObject 结构中的数组?

QJsonObject data = QJsonDocument::fromJson(QByteArrayLiteral("{\"array\":[1,2,3]}")).object();

// TODO: Something to append numbers to the 1,2,3 array?

// This doesn't work: 
data["array"].toArray().append(4);

qInfo() << data; // QJsonObject({"array":[1,2,3]}), without the 4th element

toArray() 似乎创建了一个副本而不是返回一个引用

我认为问题在于toArray()正在返回数组的副本,而不是对现有数组的引用。 所以你的代码试图修改副本,这最终没有效果。 您应该可以这样做:

QJsonArray arrayCopy = data["array"].toArray();
arrayCopy.append(4);
data["array"] = arrayCopy;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM