News for hackers. Stuff that matters.
Re:Comma Separated JSON by smegel on Tuesday June 21, 2016 @08:25PM (#11950643)
So you save some space on top level keys which are stored once in the header...but you waste space by having to flatten data structures into a table to start with, with key values being repeated over lines, the more deeply nested, the worse it gets.

Stick with JSON document per line.

Re:Comma Separated JSON by mrits on Tuesday June 21, 2016 @09:42PM (#11951017)
There are some good arguments against this format but your points were invalid. Key data in many different types of data is much larger than the actual values. E.g ("average_cpu_cylces_per_min": 60)
Re:Comma Separated JSON by athenot on Tuesday June 21, 2016 @10:16PM (#11951115)
Gzip or some other compression scheme takes care of that pretty well. It's not rare to do JSON over gzipped HTTP requests.
Re:Comma Separated JSON by proteusguy on Wednesday June 22, 2016 @01:32AM (#11951765)
You gzip csv and csj as well so this is orthogonal to the point.
Re:Comma Separated JSON by MyNameIsFred on Wednesday June 22, 2016 @10:31AM (#11954223)
Is it? I think his point is that key repition may not be a relevant factor when a gzip can be presumed.
Re:Comma Separated JSON by thewisenerd on Tuesday June 21, 2016 @08:39PM (#11950719)
is there necessarily a need to repeat key values over lines?

why not have all possible object definitions in the header and data as a single huge array?

Re:Comma Separated JSON by athenot on Tuesday June 21, 2016 @10:24PM (#11951141)
You're describing the type-length-value format, used in some places in digital video or in Open Sound Control.

Basically you have a TYPE (fixed width, eg. 16 bits), a LENGTH (again fixed) and a VALUE which is simply a stream of bytes that goes on for LENGTH bytes and is interpreted based on what TYPE it is. You can nest your fields and get very creative in quite a compact way.

One could represent a JSON document with TLV by adding an associative map between the field names and their type numbers, then stream away.

I always loved the simplicity of TLV. Though nowadays, I'm not sure this has much of an advantage over gzipped JSON.

Re:Comma Separated JSON by ubertaco on Thursday June 23, 2016 @12:06PM (#11962052)
Off-topic: Howdy, Mr. Thénot! Crazy reading the comments and seeing your username here. Hope life is goin' well for ya with the HealthNinja stuff -- haven't seen you since I left Wellcentive (around the same time as mbonnette, if that gives you an idea of who I am).
Re:Comma Separated JSON by proteusguy on Wednesday June 22, 2016 @01:34AM (#11951774)
Because to parse it legally you'd have to store the entire file in memory. That's not actually streaming. The CSJ format puts the object schema and order up front and just applies it to each line afterwards. Stream away...