[Interest] json file handling
Thiago Macieira
thiago.macieira at intel.com
Thu Apr 16 01:18:03 CEST 2015
On Wednesday 15 April 2015 19:28:49 Andre Somers wrote:
> On 15-4-2015 17:25, Thiago Macieira wrote:
> > On Wednesday 15 April 2015 16:36:15 André Somers wrote:
> >>> The dilemma I'm in is, how can I tell the json writer to "append" to a
> >>> current json file without loading the whole file back in memory (eg
> >>> read json from file->edit in Qt->write back to file). Because, after a
> >>> while, I suppose the file will get quite large.
> >>
> >> I don't think JSON is particulary suitable for this kind of application
> >> (and neither is XML).
> >
> > CBOR might be, since it does support "undefined length" maps and arrays.
>
> I'm not familiar with that format, but I'll look it up. I guess the
> choice for JSON or XML is made due to convenience though, as classes to
> read and write these are readily available. I doubt the same can be said
> of CBOR.
RFC 7049.
> > As for XML, the format may not be suitable but QXmlStreamWriter is since
> > it
> > keeps the state of which tags it needs to close and allows you to simply
> > stream data into it. On the receiver side, QXmlStreamReader is capable of
> > receiving incomplete data and making the best it can with what has been
> > completed.
>
> I'd expect a log-file like output to be well defined at any moment in
> time, or as close as possible to that. So, while QXmlStreamWriter is
> suitable, it does not produce a valid XML file until you finalize the
> write. That may not be what you want (even though QXmlStreamReader could
> be used to parse the incomplete file*).
Yeah, that makes sense. Then for CBOR you wouldn't have the array header (byte
0x9f), but simply have a sequence of items.
Or your parser should recover from having an unterminated array.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list