Hacker News new | ask | show | jobs
by dickeytk 2295 days ago
the only thing I miss are the comments
4 comments

Then you may be happy to learn that OpenAPI documents can be written in YAML (since OpenAPI 2.0).
Attributes are also super nice to extend existing data. Doing so in JSON is a nightmare.
If there were comments, people would start putting data in comments.
but for that you'd have to use a custom parser. If you use a custom parser you could put data in comments today anyways. I don't understand that argument.
JSON5 supports comments: https://json5.org/
But who supports json5?
You can use json5 for comments and compile it to json.
You can use (yaml, hjson, jsonnet) for the same purpose. What sets json 5 apart?
YAML, hjson and jsonnet do not validate existing json blobs. You can "use" ROT13 for the same purpose, but it's incidental in what you are trying to do.

I would plead that everyone stop using YAML. It's terrible at everything.

jsonnet is a template language for a serialization format. Who would choose that nightmare?

Ecmascript isn't big on extending the language orthogonally, so hjson is eventually going to be superceded by a ES*.

This is a niche concern that has an optimal path. Go with a validation schema designed for applying to a serialization format, which has widespread library support.

>YAML ... do not validate existing json blobs

YAML 1.2 is a strict superset of JSON. What do you mean by "validate" here?

>I would plead that everyone stop using YAML. It's terrible at everything.

Fair enough.

>jsonnet is a template language for a serialization format. Who would choose that nightmare?

People who are tired of Jinja2 and YAML but don't want to jump to a general purpose programming language?

>widespread library support

JSON5 is implemented in Javascript, Go, and C#. Not sure how "widespread" that is. Rust, C, Python, Lua, Java, and Haskell are missing out on the fun.