On 8/13/12 9:24 AM, lars.kn...@nokia.com wrote: > > On Aug 8, 2012, at 9:14 PM, ext Stephen Chu <step...@ju-ju.com> wrote: > >> I am trying out the new QJsonValue in Qt 5 and find myself wondering: >> Does converting a QJsonValue which is an array to a QJsonArray with >> QJsonValue::toArray() makes a copy of the underlying data? >> >> Say I load a JSON file which is an object that contains an array with >> thousands of items using QJsonDocument: >> >> auto myObj = QJsonDocument::fromJson(jsonData).object(); >> auto myArray = myObject["theArray"].toArray(); >> >> How efficient is the conversion? Does it make a deep copy of the data in >> the original object to the new array? > > No it doesn't make any deep copies as long as the data is not being modified. >
Thanks. That's good to know. Now, what happens if I want to modify one of the 1000 items in an array that is an item of a QJsonObject? Looks like I need to make a copy of the array with toArray(), change the item, then assign the modified (and deep copied) array back to the item in the object? There doesn't seem to have a way to get a reference to a second-level item in an object or array. _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest