search
HomeWeb Front-endJS TutorialDetailed explanation of the use of JSON and XML

This time I will bring you a detailed explanation of the use of JSON and XML. What are the precautions when using JSON and XML? Here are practical cases, let’s take a look.

1. Definition introduction

1.1 XML definition

Extensible Markup Language (XML), used A markup language that marks electronic files to make them structural, which can be used to mark data and define data types. It is a source language that allows users to define their own markup language. XML uses DTD (document type definition) document type definition to organize data; the format is unified, cross-platform and language, and has long become a recognized standard in the industry.
XML is a subset of Standard Generalized Markup Language (SGML) and is well suited for Web transmission. XML provides a unified method for describing and exchanging structured data independent of applications or vendors.

1.2 JSON Definition

JSON (JavaScript Object Notation) is a lightweight data exchange format that is well readable and convenient. Features for writing quickly. Data exchange between different platforms is possible. JSON adopts a highly compatible and completely language-independent text format, and also has system behavior similar to C language (including C, C, C#, Java, JavaScript, Perl, Python, etc.) . These properties make JSON an ideal data exchange language.
JSON is based on JavaScript Programming Language, a subset of Standard ECMA-262 3rd Edition - December 1999.

2. Advantages and Disadvantages of XML and JSON

2.1 Advantages and Disadvantages of XML

Advantages of XML
 A. The format is unified and conforms to standards;
 B. It is easy to interact with other systems remotely and data sharing is more convenient.

Disadvantages of XML
A. The XML file is huge, the file format is complex, and the transmission takes up bandwidth;
B. Both the server and the client need to spend a lot of code to parse XML, causing the server and client to The code on the client side becomes extremely complex and difficult to maintain;
C. The way of parsing XML between different browsers on the client side is inconsistent, and a lot of code needs to be written repeatedly;
D. It costs more to parse XML on the server side and client side resources and time.

2.2 Advantages and Disadvantages of JSON

Advantages of JSON:

A. The data format is relatively simple, easy to read and write, and the formats are compressed. Occupies little bandwidth;
B. Easy to parse, client-side JavaScript can simply read JSON data through eval();
C. Supports multiple languages, including ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby and other server-side languages ​​facilitate server-side parsing;
D. In the PHP world, PHP-JSON and JSON-PHP have already appeared, and it is preferred to directly call the program after PHP serialization , PHP server-side objects, arrays, etc. can directly generate JSON format, which facilitates client access and extraction;
E. Because JSON format can be directly used by server-side code, it greatly simplifies the amount of code development on the server side and client side, and completes The task remains unchanged and it is easy to maintain.

Disadvantages of JSON

A. It is not as popular and widely used as the XML format, and it is not as versatile as XML;
B. The JSON format is currently not promoted in Web Service Belongs to the primary stage.

3. Comparison of the advantages and disadvantages of XML and JSON

In terms of readability.

The data readability of JSON and XML is basically the same. The readability of JSON and XML is almost the same. On one side is the recommended syntax and on the other side is the standardized tag form. XML is more readable.

In terms of scalability.

XML is naturally very scalable, and JSON certainly has it, too. There is nothing that XML can expand that JSON cannot.

In terms of coding difficulty.

XML has a wealth of encoding tools, such as Dom4j, JDom, etc., and JSON also has tools provided by json.org. However, JSON encoding is obviously much easier than XML. You can write JSON code even without using tools. But it is not easy to write XML well.

Decoding difficulty aspect.

The parsing of XML has to consider the child nodes and parent nodes, which is dizzying, while the difficulty of parsing JSON is almost 0. XML loses really nothing at this point.

Popularity.

XML has been widely used in the industry, and JSON has just begun. However, in the specific field of Ajax, the future development must be that XML gives way to JSON. By then Ajax should become Ajaj (Asynchronous Javascript and JSON).

Analysis means.

JSON and XML also have rich parsing methods.

In terms of data volume.

Compared with XML, JSON has a smaller data size and faster transmission speed.

Data interaction aspect.

The interaction between JSON and JavaScript is more convenient, easier to parse and process, and provides better data interaction.

Data description.

JSON is less descriptive of data than XML.

In terms of transmission speed.

JSON is much faster than XML.

4. Comparison of XML and JSON data formats

4.1 About lightweight and heavyweight

Lightweight and Heavyweight is relative, so where is the heavyweight of XML compared to JSON? It should be reflected in parsing. XML currently has two parsing methods: DOM and SAX.

DOM

DOM regards a data exchange format XML as a DOM object, and the entire XML file needs to be read into the memory. This is The principles of JSON and XML are the same, but XML must consider parent nodes and child nodes. At this point, JSON is much less difficult to parse, because JSON is built on two structures: key/value, a collection of key-value pairs; An ordered collection can be understood as an array;

SAX

SAX can process the parsed content without reading the entire document. It is a step-by-step parsing Methods. The program can also terminate parsing at any time. In this way, a large document can be displayed gradually and bit by bit, so SAX is suitable for large-scale parsing. This is currently not possible with JSON.
So, the light/heavyweight difference between JSON and XML is:
JSON only provides an overall parsing solution, and this method can only achieve good results when parsing less data;
XML It provides a step-by-step analysis solution for large-scale data, which is very suitable for processing large amounts of data.

4.2 Regarding the difficulty of data format encoding and parsing

In terms of encoding.

Although XML and JSON have their own encoding tools, JSON encoding is simpler than XML. You can write JSON code even without the help of tools, but it is a bit difficult to write good XML code; Like XML, JSON is also text-based, and they all use Unicode encoding, and it is as readable as the data exchange format XML.

Subjectively speaking, JSON is clearer and less redundant. The JSON website provides a strict, if brief, description of JSON syntax. Generally speaking, XML is more suitable for marking documents, while JSON is more suitable for data exchange processing.

In terms of analysis.

In the field of ordinary web applications, developers often worry about parsing XML. Whether it is generating or processing XML on the server side, or parsing XML on the client side using JavaScript, it often leads to complex code and extremely low latency. Development efficiency.

In fact, for most Web applications, they do not need complex XML to transmit data at all. The scalability claimed by XML rarely has an advantage here. Many Ajax applications even directly return HTML fragments to build dynamic Web page. Compared with returning XML and parsing it, returning HTML fragments greatly reduces the complexity of the system, but it also lacks a certain degree of flexibility. The data exchange format JSON provides greater simplicity and flexibility than XML or HTML fragments. In Web Service applications, at least for now, XML still has an unshakable position.


Example comparison

XML and JSON both use structured methods to mark data. Let’s make a simple comparison below.

Use XML to represent the data of some provinces and cities in China as follows:

<?xml  version="1.0" encoding="utf-8" ?>
<country>
 <name>中国</name>
 <province>
  <name>黑龙江</name>
  <citys>
   <city>哈尔滨</city>
   <city>大庆</city>
  </citys>   
 </province>
 <province>
  <name>广东</name>
  <citys>
   <city>广州</city>
   <city>深圳</city>
   <city>珠海</city>
  </citys>   
 </province>
 <province>
  <name>台湾</name>
  <citys>
    <city>台北</city>
    <city>高雄</city>
  </citys> 
 </province>
 <province>
  <name>新疆</name>
  <citys>
   <city>乌鲁木齐</city>
  </citys>
 </province>
</country>

Use JSON to represent the data of some provinces and cities in China as follows:
 var country =
    {
      name: "中国",
      provinces: [
      { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
      { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
      { name: "台湾", citys: { city: ["台北", "高雄"]} },
      { name: "新疆", citys: { city: ["乌鲁木齐"]} }
      ]
    }

In terms of the readability of encoding, XML has obvious advantages. , after all, human language is closer to such an explanation structure. JSON reads more like a data block and is more confusing to read. However, the language that is difficult for us to read is suitable for machine reading, so the value "Heilongjiang" can be read through the JSON index country.provinces[0].name.

In terms of the handwriting difficulty of coding, XML is more comfortable. It is easy to read and of course easy to write. However, the written JSON characters are obviously much less. If you remove the blank tabs and line breaks, JSON is densely packed with useful data, while XML contains many repeated markup characters.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

jsonp json implements AJAX cross-domain request

How can Jsonp solve ajax cross-domain request

The above is the detailed content of Detailed explanation of the use of JSON and XML. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Python vs. JavaScript: A Comparative Analysis for DevelopersPython vs. JavaScript: A Comparative Analysis for DevelopersMay 09, 2025 am 12:22 AM

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Python vs. JavaScript: Choosing the Right Tool for the JobPython vs. JavaScript: Choosing the Right Tool for the JobMay 08, 2025 am 12:10 AM

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript: Understanding the Strengths of EachPython and JavaScript: Understanding the Strengths of EachMay 06, 2025 am 12:15 AM

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScript's Core: Is It Built on C or C  ?JavaScript's Core: Is It Built on C or C ?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript Applications: From Front-End to Back-EndJavaScript Applications: From Front-End to Back-EndMay 04, 2025 am 12:12 AM

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Python vs. JavaScript: Which Language Should You Learn?Python vs. JavaScript: Which Language Should You Learn?May 03, 2025 am 12:10 AM

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.

JavaScript Frameworks: Powering Modern Web DevelopmentJavaScript Frameworks: Powering Modern Web DevelopmentMay 02, 2025 am 12:04 AM

The power of the JavaScript framework lies in simplifying development, improving user experience and application performance. When choosing a framework, consider: 1. Project size and complexity, 2. Team experience, 3. Ecosystem and community support.

The Relationship Between JavaScript, C  , and BrowsersThe Relationship Between JavaScript, C , and BrowsersMay 01, 2025 am 12:06 AM

Introduction I know you may find it strange, what exactly does JavaScript, C and browser have to do? They seem to be unrelated, but in fact, they play a very important role in modern web development. Today we will discuss the close connection between these three. Through this article, you will learn how JavaScript runs in the browser, the role of C in the browser engine, and how they work together to drive rendering and interaction of web pages. We all know the relationship between JavaScript and browser. JavaScript is the core language of front-end development. It runs directly in the browser, making web pages vivid and interesting. Have you ever wondered why JavaScr

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),