> Piping JSON through multiple programs creates lots of trivial changes, which makes it hard to do things like take meaningful diffs.
But you can always put JSON through a pretty-printer which puts values into canonical form before diffing. I wouldn't bother turning it into a formal specification. And you mention 'No insignificant whitespace' in the README, so it's not like your format makes line-by-line diffs any clearer.
It's as if IT hasn't had enough solutions in search of a problem...