[Interest] Qt 5: Converting QJsonValue to QJsonArray
Stephen Chu
stephen at ju-ju.com
Mon Aug 13 23:21:08 CEST 2012
On 8/13/12 9:24 AM, lars.knoll at nokia.com wrote:
>
> On Aug 8, 2012, at 9:14 PM, ext Stephen Chu <stephen at 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.
More information about the Interest
mailing list