肉渣教程

JSON vs XML

上一节 下一节

JSON格式和XML格式都可以用来接收服务器传来的数据。两者非常类似,但也有区别。专否的一家之言是:JSON格式比XML格式更加具有优越性,请尽量使用JSON格式而非使用XML格式。


JSON vs XML

JSON格式的示例:

{ "gangs":[
    {"name":"天地会", "slogan":"反清复明"},
    {"name":"义和团", "slogan":"扶清灭洋"},
    {"name":"日月神教", "slogan":"千秋万载,一统江湖"},
    {"name":"星宿派", "slogan":"星宿老仙,法力无边"},
    {"name":"太平天国", "slogan":"耕者有其田"}
]}


XML格式的示例:

<CATALOG>
  <GANG>
      <NAME>天地会</NAME>
      <SLOGAN>反清复明</SLOGAN>
  </GANG>
  <GANG>
      <NAME>义和团</NAME>
      <SLOGAN>扶清灭洋</SLOGAN>
  </GANG>
  <GANG>
      <NAME>日月神教</NAME>
      <SLOGAN>千秋万载,一统江湖</SLOGAN>
  </GANG>
  <GANG>
      <NAME>星宿派</NAME>
      <SLOGAN>星宿老仙,法力无边</SLOGAN>
  </GANG>
  <GANG>
      <NAME>太平天国</NAME>
      <SLOGAN>耕者有其田</SLOGAN>
  </GANG>
</CATALOG>

JSON和XML的相似点

相似点:

  • 都具有自我描述性(可读性强)
  • 都具有可嵌套性
  • 都是通用的文本,各种编程语言都可以读取并解析
  • 都可以通过JS中的XMLHttpRequest对象来请求获取

JSON与XML的不同处

JSON的不同处:

  • 表达同等信息量,JSON格式更短
  • JSON格式的读取、解析、输出都会速度更快
  • JSON格式数据类型更加丰富,可以使用数组类型

为啥JavaScript对JSON格式的解析处理更快?因为JS中解析JSON格式用的解析器是JS原生内置函数;这就是为啥JS解析JSON比XML快的关键原因。


JSON比XML更具优越性

一句话,JSON比XML更加优越,能用JSON就别用XML。因为JSON格式更小、更快、更方便、更丰富灵活。(尤其是AJAX时,使用JSON是王道;AJAX时使用XML,可行,但不好,不要去用。)

只有一些特殊的场景才会必须用XML,比如生成网站的Sitemap时。


JSON vs XML

上一节 下一节