4 ms·
> JSON is a pretty simple spec a Yet there are no proper implementations because it's too simple, sometimes ambiguous, and there are several standards. JSON pa
by dmitriid 6y ago
> JSON is a pretty simple spec a
Yet there are no proper implementations because it's too simple, sometimes ambiguous, and there are several standards. JSON parsing is a minefield, http://seriot.ch/parsing_json.php http://seriot.ch/parsing_json.php
- chubot 6y agoJSON is simple compared to any textual format and many binary formats. Compare it with HTTP 1.1, 2, 3, or say Apache Arrow. JSON is a compromise, and specifies only syntax, without semantics, and without an API. But I think that was a good tradeoff compared to say XML syntax, schemas, and APIs like SAX and DOM. You can build a lot of stuff on top, and people have.
- Ericson2314 6y agoNo, binary formats are often simpler. Really anything that involves text is hugely complicated.
- chubot 6y agoNot sure how this relates to what I said, maybe you misread it.
- refulgentis 6y agoThe first sentence: "JSON is simple compared to any textual format and many binary formats. "
- umanwizard 6y agoAvro for example is extremely complex compared to json.
- kstenerud 6y agoUnfortunately, the lack of specification is becoming a security liability in modern times. That's a big reason why I'm developing https://concise-encoding.org/ https://concise-encoding.org/ - 1:1 compatible binary and text formats. Edit in text, send in binary. - The binary encoding is super simple, and what's in use 99% of the time since it's usually machines talking to each other. Text is only for humans to see the data and to input the data. - The format is more complex than JSON, but FAR better specced to avoid variance in implementations (important for security).
- lifthrasiir 6y agoTony Garnock-Jones (known for AMQP and RabbitMQ) is also developing Preserves [1] which I found promising. [1] https://preserves.gitlab.io/preserves/ https://preserves.gitlab.io/preserves/
- fulafel 6y agoBencode is nice and simple arguably text based format, though needs a bit of editor support to be really human friendly.