On Mar 8, 2009, at 4:51 PM, Antony Blakey wrote:
OLPC has a start on canonical JSON: http://wiki.laptop.org/go/Canonical_JSON
.
Thanks for the link! I'd done a bit of searching for prior-art, but
hadn't run across that.
It's pretty close to my description. It looks good, except that
• They say that arbitrary byte sequences are allowed in strings. This
is really problematic (it makes it impossible to reliably convert JSON
to an in-memory JavaScript string object!) and contradicts the JSON
spec, whose third paragraph says that "a string is a sequence of zero
or more Unicode characters".
• As I did, they say keys should be sorted in "lexicographic order".
Like me, they probably meant "code-point order".
The ban on floating-point numbers is sensible. I'd draw the line at
banning integers, though, as that tends to really complicate round-
trip transformations with in-memory objects. (Every int field has to
be shadowed as a string.)
I've updated the wiki page accordingly.
—Jens