Lesson 11 — Comparisons

XML vs JSON

Having covered XML in depth, it's worth directly comparing it to JSON — the format that has replaced XML in many modern web contexts, though XML retains real advantages in specific areas.

Where XML Still Wins

XML's namespace support prevents naming collisions when combining vocabularies from different sources, something JSON has no native equivalent for. XML also has a mature ecosystem of schema validation (XSD) and transformation (XSLT) tools that are considerably more powerful than JSON's newer, simpler JSON Schema.

Where JSON Wins

For typical web API payloads, JSON's compactness, native mapping to JavaScript objects, and simpler learning curve have made it the default choice for the vast majority of new projects since the mid-2010s.

XML — The same book record as the JSON lesson
<book>
  <title>Learning JSON</title>
  <author>J. Smith</author>
  <year>2024</year>
</book>

Common Mistakes

  • Assuming XML is obsolete — it remains dominant in specific domains like enterprise document exchange, SOAP web services, and certain publishing/document formats (like the underlying format of .docx files).
  • Choosing JSON for a project that specifically needs namespace support or mature, mature schema validation tooling, where XML would be the better technical fit.
  • Forgetting that many legacy systems and standards will continue to require XML for the foreseeable future.
  • Comparing the two formats only on verbosity, ignoring the different capabilities each format's surrounding ecosystem provides.

Professional Tip

Choose the format based on the ecosystem you're integrating with, not personal preference: if a standard, partner API, or legacy system specifies XML, work with it directly rather than trying to force a JSON-first approach onto it.

Your Turn

Take a moderately complex JSON structure (like the product catalogue from the JSON course) and rewrite it as an equivalent XML document, noting where XML required more markup.

Mini Quiz

Which of these is a genuine, ongoing advantage of XML over JSON?