Carsten Bormann (2013-12-08T19:13:19.000Z)
domenic at domenicdenicola.com (2013-12-10T01:01:54.379Z)
On 08 Dec 2013, at 19:57, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote: > ```json > { > "allenwb": "there is an objectively observable order to the members of a JSON object", > "JSON WG participant 1": "It would be insane to depend upon that ordering", > "allenwb": "not if there is agreement between a producer and consumer on the meaning of the ordering", > "JSON WG participant 2": "But JSON.parse and similar language bindings don't preserve order", > "allenwb": "A streaming JSON parser would naturally preserve member order", > "JSON WG participant 2": "I din't think there are any such parsers", > "allenwb": "But someone might decide to create one, and if they do it will expose object members, in order", > "allenwb": "Plus, in this particular case the schema is so simple the application developer might well design to write a custom, schema specific streaming parser." > } > ``` Which by at least one JSON decoder\*) is decoded as: ```yaml allenwb: Plus, in this particular case the schema is so simple the application developer might well design to write a custom, schema specific streaming parser. JSON WG participant 1: It would be insane to depend upon that ordering JSON WG participant 2: I din't think there are any such parsers ``` (For readability, this one encoded in YAML, another JSON extension.) Nice demonstration of the point here. \*) `ruby -rjson -ryaml -e 'puts JSON.parse(File.read("allen.json")).to_yaml' >allen.yaml`
domenic at domenicdenicola.com (2013-12-10T00:59:04.141Z)
On 08 Dec 2013, at 19:57, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote: > ```json > { > "allenwb": "there is an objectively observable order to the members of a JSON object", > "JSON WG participant 1": "It would be insane to depend upon that ordering", > "allenwb": "not if there is agreement between a producer and consumer on the meaning of the ordering", > "JSON WG participant 2": "But JSON.parse and similar language bindings don't preserve order", > "allenwb": "A streaming JSON parser would naturally preserve member order", > "JSON WG participant 2": "I din't think there are any such parsers", > "allenwb": "But someone might decide to create one, and if they do it will expose object members, in order", > "allenwb": "Plus, in this particular case the schema is so simple the application developer might well design to write a custom, schema specific streaming parser." > } > ``` Which by at least one JSON decoder\*) is decoded as: ```yaml allenwb: Plus, in this particular case the schema is so simple the application developer might well design to write a custom, schema specific streaming parser. JSON WG participant 1: It would be insane to depend upon that ordering JSON WG participant 2: I din't think there are any such parsers ``` (For readability, this one encoded in YAML, another JSON extension.) Nice demonstration of the point here. Grüße, Carsten \*) `ruby -rjson -ryaml -e 'puts JSON.parse(File.read("allen.json")).to_yaml' >allen.yaml`