pyYAML has this collection of problems with the spec: http://pyyaml.org/wiki/BugsInTheYAMLSpecification
(and pyYAML itself can't always parse its own output correctly...)
Re:Hjson, the Human JSON
by crdoconnor on Thursday April 14, 2016 @05:56PM
(#11500639)
You don't need most of those features. A pared down YAML with the cruft removed (implicit typing, flow style, tag tokens, node anchor & references) is actually pretty simple as well as less "gotcha-y".
Sure, but most language YAML parsers support all or most of the spec. That can be a problem if you aren't expecting it.
I believe it has even created security issues. Didn’t Rails have at least one YAML-based vuln?
You need to restrict YAML to SecureLoad, with manually adding allowed typed and classes.
At least perl doesn't support this, so it's inherently insecure there, but you can always use YAML::Syck which didn't go this way.
Take a look at example 2.11 in the YAML spec [2], for example, and see if you can make heads or tails of it.
[1]: https://pairlist6.pair.net/pipermail/markdown-discuss/2011-A...
[2]: http://www.yaml.org/spec/1.2/spec.html#id2760395