On 01Dec2018 00:40, Marko Rauhamaa <ma...@pacujo.net> wrote:
Paul Rubin <no.email@nospam.invalid>:
Maybe someone can convince me I'm misusing JSON but I often want to
write out a file containing multiple records, and it's convenient to
use JSON to represent the record data.
The obvious way to read a JSON doc from a file is with "json.load(f)"
where f is a file handle. Unfortunately, this throws an exception
I have this "multi-JSON" need quite often. In particular, I exchange
JSON-encoded messages over byte stream connections. There are many ways
of doing it. Having rejected different options (<URL:
https://en.wikipedia.org/wiki/JSON_streaming>), I settled with
terminating each JSON value with an ASCII NUL character, which is
illegal in JSON proper.
There's a common format called Newline Delimited JSON (NDJSON) for just
this need.
Just format the outbound records as JSON with no newlines (i.e. make the
separator a space or the empty string), put a newline at the end of
each.
On ingest, read lines of text, and JSON parse each line separately.
This is very easy, very partable, and makes for very human readable data
files.
I strongly recommend it.
Cheers,
Cameron Simpson <c...@cskk.id.au>
--
https://mail.python.org/mailman/listinfo/python-list