Hacker Newsnew | past | comments | ask | show | jobs | submit | uncomplete's commentslogin

jsonl is json objects separated by endline characters. Used in Bedrock batch processing.


ndjson is extremely similar, Splunk uses it for exporting logs as json


From a quick lookup, aren't "newline-delimited json" and "json lines" identical? Different name for the same thing?


Came up at work a few weeks ago when a co-worker used "ndjson" which I'd never heard of before, but I knew "jsonl" which he'd never heard of before: As far as I could tell with some searching, they are basically the same thing and have two different names because they came from two different places. "ndjson" was a full-on spec, while "jsonl" was more informal - kind of like an enterprise vs open source, that converged on the same idea.

From wikipedia, "ndjson" used to include single-line comments with "//" and needed custom parsers for it, but the spec no longer includes it. So now they are the same.


ndjson has an actual spec (however bitrotted), everything else in that space makes rookie mistakes like not specifying that a newline is a required message terminator -- consider receiving "13\n42", is that truncated or not?

https://github.com/ndjson/ndjson.github.io/issues/1#issuecom...

None of the above is actually good enough to build on, so a thousand little slightly-different ad hoc protocols bloom. For example, is empty line a keepalive or an error? (This might be perfectly fine. They're trivial to program, not like you need a library.)


Headline should be 'LLM can read (and understand) PDFs'


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: