On Tuesday, 24 April 2018 22:48:03 PDT alexander golks wrote: > when using QJsonDocument you may/should pay attention to QtQTBUG-47629: > QJsonObject size maximum length 128MB > https://bugreports.qt.io/browse/QTBUG-47629
That's one of the reasons I'm adding CBOR support. The new implementation scales much better than the binary JSON memory and on-disk format and has no such limitation. Plus it's a standardised format, defined by the IETF and used several new IoT protocols. Since it uses QVector internally, it's currently limited to 2 GB vectors per level, so each CBOR array can contain at most 2^31 / 16 = 2^27 elements. But that's on each level: each element can be an array of 2^27 elements again. Maps are limited to half that, so 2^26. There's also a limit on the total size of strings in a map or array. The code was carefully written so that in Qt 6, when we switch to 64-bit size types for Qt containers, the limitations disappear. And better: since CBOR is a full superset of JSON, the backend can be used to hold JSON too. So Qt 6 QJsonDocument & family will have the 128 MB limit removed, at the expense of the binary JSON format requiring parsing. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest