decode: concentrate JSON formatting in a single location
commit118228e13f8e1807d5a21cf7b038e4cc38a5e15b
authorGerhard Sittig <gerhard.sittig@gmx.net>
Sat, 25 Jul 2020 10:05:02 +0000 (25 12:05 +0200)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Sat, 25 Jul 2020 11:22:37 +0000 (25 13:22 +0200)
treea820bb3aaa22a282adaf10c6465f7ef919eb0509
parent54614916a903af4afc2582db793eb306e39ddd0a
decode: concentrate JSON formatting in a single location

It's incredible how a single arbitrary choice of not supporting trailing
commas complicates generator code which immediately writes its output,
instead of accumulating pieces and separating but not terminating them
before transmitting the result.

Concentrate all text to open and close the file and array items, as well
as to separate the array item fields, in the jsontrace_open_close()
routine. This makes calling code more verbose, but heavily simplifies
the sequence and allows to shuffle items without unnecessary manual
adjustment of formatting details. Added complexity to make some of the
closing calls optional also helps.

When this DIY code is considered unmaintainable, the alternative is to
introduce another dependency on a JSON library.
decode.c