- XML supports any character encoding scheme, JSON supports exclusively Unicode.
Exactly wrong, from a jargon quibbler POV. The only character encoding schemes that xml processesors are required to support (probably) are big endian and little endian. And unicode is not a CES. Better not to use jargon in this situation.
better: XML and json both use unicode character repertoire; both provide numeric charcter references. json uses utf-8 character encoding for data transfer, so the numeric character references are mainly for convenience. xml does not preclude any common character encoding, but if that encoding does not have a particular character then the numeric character refernce mudt be used (if in data content.)
- XML uses different character sets (NCName) for markup than for content, JSON uses the same character set throughout the entire document
Exactly wrong, against the jargon. substitute "repertoire" for "Set".
Also, json does not allow control characters directly, like xml. But it does allow them by numeric character refences.
Chers
rick
Thank you for the fantastic feedback!
I updated the list using your feedback. Is there anything else that should be added? /Roger
--------------------------------------
JSON is often compared to XML. However, there are significant differences:
- XML supports comments, JSON does not.
- XML supports processing instructions, JSON does not.
- XML provides multiple syntaxes to express things (e.g., attribute values can be delimited by either a single or double quote, attributes can be in any order), JSON does not have such flexibility.
- XML child nodes (text, elements, comments, PIs) have order, the key/value pairs in JSON objects are unordered.
- XML uses canonicalization to convert XML into a standard form. Since ordering doesn't exist in JSON objects, a canonical form for JSON is problematic: with no canonical order, there's no standard byte stream.
- XML has namespaces, JSON does not.
- XML supports mixed content, JSON does not.
- XML has entities and notations, JSON does not.
- XML does not have arrays (although they can be simulated), JSON has arrays. JSON objects inside arrays have position, but no name; if an array is inside an object, then the name could be mapped from the key name for the array member; JSON arrays inside arrays inside an object are somewhat more of a challenge.
- XML uses different character sets (NCName) for markup than for content, JSON uses the same character set throughout the entire document.
- XML supports any character encoding scheme, JSON supports exclusively Unicode.
- XML has pointy brackets, JSON has curly and square ones.