-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relationship to jsonlines.org #1
Comments
👍 - I'm wondering the same thing |
Hey the website currently is a bit misleading. Only the website styles are a fork, not the standard itself. JSONLines is not a spec, but a website while NDJSON is currently already a living spec. They generally compatible. You can have a look at the spec here: http://dataprotocols.org/ndjson/ |
@finnp thanks for that clarification, my original question contains fuzziness. The re-use of website stuff suggested to me a time ordering of the two flavours of multi-object-per-stream JSON, and explains some shared content. It isn't what puzzled me, but is partly why I ask here not there. The (non)existence of a standard on each side is more significant - for the future of that way of doing it, and awareness of the flavour. It seems like a big plus for ndjson. Practically, I would appreciate a summary table like
{M} = MUST I pulled values together from what I could find. Some, especially project lifetimes, could be plain wrong. Also there are interesting rows to be added. Maybe it's useful to show nearby alternatives, e.g.
I also have some interest in the history of each - how they arose and subsequent project evolution; and tools known to use the style. |
I also think that a bit more detail on the history and differences would be useful, as @mcast has outlined in a table. |
There is also the JSON Text Sequences RFC at https://tools.ietf.org/html/rfc7464 This seems to be similar, but JSON is preceded by a record separator: RS JSON LF. I'm not sure how the RS adds better fault tolerance. |
@josefbetancourt: The issue is not exactly fault tolerance, it’s that valid JSON is allowed to contain LFs inside (though only as syntactic whitespace and not inside strings), while RS characters are completely forbidden. So skipping to the next RS is a more-or-less foolproof way to resync corrupted input. Personally, I also find it more convenient to be able to prettyprint my entries instead of scrolling or wrapping 300-character lines, but this is admittedly situational. FD: Wrote a jsonseq library. |
@mcast, add to the table... MIME type
Content edited to correct mistakes |
@hattesen If by LDJSON you mean line-delimited JSON, then the MIME type you have quoted is unrelated: |
@alexshpilkin, my bad. I have edited the comment accordingly. |
Now I checked the issues, the author (@finnp) stated that the further efforts should be focused on JSON Lines instead of NDJSON. |
is just wrong FYI |
That's not what finnp said. He said:
But the fact that ndjson.org is dead (#24) does suggest JSON Lines is the path forward. |
I found http://ndjson.org/ while looking for http://jsonlines.org/ and now I'm puzzled about how they are related to each other.
Thanks for being clear about the fact that ndjson is a fork of jsonlines. Please could you also explain a little about what motivated you to fork? Or how you expect jsonlines to evolve in the presence of ndjson, if that is appropriate?
To a large extent this is just my curiosity & it won't matter whether my next app is throwing .jsonl or .ndjson extensions. However as the standards show signs of diverging (comments on lines, file extension, outer wrapping object to make valid .json) it would be nice to have a clear way to choose, for applications which interact.
Thanks,
Matthew
The text was updated successfully, but these errors were encountered: