← Back to context

Comment by deaddodo

11 hours ago

The main benefit of XML over JSON is that it is structured, and can be associated with Schema's for built in validation.

Obviously, that's only a benefit if you care about and utilize those features; most teams doing JSON integrations will just build those into the consumer in lieu of them being provided by the transport. But it is something that some people (especially larger enterprise organizations) value.

JSON is structured (not plain text to be analyzed by an IA). JSON has JSON Schema.

In addition, JSON is easier to parse and to map to common data structures of programming languages.

  • JSON Schema is an unofficial spec with a bunch of competitors and multiple versions, not all of which are compatible. I don't think you can compare it to XML schema validation.

    I'm also not so sure about JSON being easier to map to common data structures. The lack of order guarantees within objects makes things like ordered maps quite annoying (you need to either use an array of entries with key and value, or an index within the mapped objects).

Thanks, that's interesting to know. Given that we have json schema now though, what reason would someone use XML over Json now?

  • JSON Schema is largely an answer to people seeking that type of built-in validation. As I'm not a huge proponent for either (a tool is a tool and you work with it in its ecosystem), I don't have personal feelings on it's adequacy.

    But, I would suspect, proponents of XML would still point to it's deeper typing system, document structure (especially the hierarchical features of it), and extremely mature ecosystem + tooling (such as XSLTs) as reasons to prefer it over JSON w/ JSON Schema.