如何修改已经在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 elementtoArray()似乎创建了一个副本,而不是返回一个引用
发布于 2021-01-28 22:07:07
我认为问题在于toArray()返回的是数组的副本,而不是对现有数组的引用。因此,您的代码正在尝试修改副本,但最终没有任何效果。你应该能够做一些类似这样的事情:
QJsonArray arrayCopy = data["array"].toArray();
arrayCopy.append(4);
data["array"] = arrayCopy;https://stackoverflow.com/questions/65936961
复制相似问题