XML is a document-centric data format and data processing language and stands for, "Extensible Markup Language".
JSON is a lighter-weight messaging-centric data format and stands for, "JavaScript Object Notation".
A question that often comes up in discussing APIs is whether an endpoint should accept and return JSON (increasingly the standard) instead of XML (was the old standard with XML-based SOAP services). If I have just 1 opinion to give, I would say that it is important for an API response model to be format agnostic (at least in regards to JSON vs. XML). Why not have the API accept and return both types and give clients the choice of either JSON or XML?
If your web service is so complex and has so much XML-specific dependencies, you may want to look into simplifying your model. None of the heavy lifting (of database communication, of data configuration and security information, data processing, etc.) should ever be done with dependencies from our sent and received XML and JSON GETs and POSTs.
That should be done on the server side, as much as is possible.
In reality, if we model our program entities with easily understandable properties and no embedded config in the XML (this was the norm for SOAP), we will have no problem serializing our model objects into XML or JSON- losing no information in the process.
"XML is a data format, AND it is a language also. It has many powerful features that make it much more than a simple data format for data interchange. e.g., XPath, attributes and namespaces, XML schema and XSLT, etc. All these features have been the main reasons behind XML popularity.
JSON’s purpose is solely structured data interchange. It serves this purpose by directly representing objects, arrays, numbers, strings, and booleans. When meta-data and document markup is not a requirement, always use JSON."
-Lokesh Gupta
JSON vs. XML: A simple example
{ "json": { "myAppSettings": { "appSettingDatabaseUri": "https://mysecuredatabaseserver.net" } } }
<xml>
<myAppSettings>
<appSettingDatabaseUri>https://mysecuredatabaseserver.net</appSettingDatabaseUri>
</myAppSettings>
</xml>
References:
https://restfulapi.net/json-vs-xml
https://www.guru99.com/json-vs-xml-difference.html
History of XML
- XML was also derived from SGML.
- Version 1.0 of XML was released in February 1998.
- Jan 2001:IETF Proposed Standard: XML Media Types
- XML is the Extensible Markup Language.
- 1970: Charles Goldfarb, Ed Mosher, and Ray Lorie invented GML
- The development of XML started in the year 1996 at Sun Microsystem
History of JSON
- Douglas Crockford specified the JSON format in the early 2000s.
- The official website was launched in 2002.
- In December 2005, Yahoo! starts offering some of its web services in JSON.
- JSON became an ECMA international standard in 2013.
- The most updated JSON format standard was published in 2017.