JSON VS XML:理论定义

时间:2012-06-21 08:58:45

标签: xml json

有谁知道何时应该使用XML而不是JSON?为什么?

由于

2 个答案:

答案 0 :(得分:4)

XML - 专业人士

  1. 更严格 - 可以与文档类型定义(DTD)一起提供,它允许您分析提供的XML数据在语法上是否正确
  2. 命名空间 - 可以帮助混合来自各种资源的数据(例如,您可以使用Spring Core和Spring Security中的命名空间,这有助于阅读和理解标记)
  3. 可以使用XPath进行导航 - 有助于加快寻找嵌套在标记内的内容
  4. 可以通过轻量级处理器(如SAX解析器)
  5. 解析大量数据
  6. 用于某些协议(如SOAP),可以强制使用XML over JSON
  7. 在街区附近 - 一些较旧的图书馆可以/使用
  8. 不错的工具支持(如Scala或IDE支持中的本机使用)
  9. XML - 缺点

    1. 当它变得非常大时难以阅读 - 难以维护
    2. 来自所有不必要的标签(例如<some_long_tag_name>...</some_long_tag_name>在一个文件中发生x1000次)的开销,这会对网络带宽和磁盘使用产生巨大影响
    3. JSON - 专业人士

      1. 人类更容易阅读

      2. 感谢JavaScript

      3. ,在网络浏览器中提供原生支持

        JSON - 缺点

        1. 不包含类型定义("some_object" : "10" // String or Int?

        2. 缺少某种DTD(你怎么知道需要“some_object”?)

        3. 这些只是主要的。老实说,有人可以写一本关于它的书,所以我不知道有人会降级这个问题...但是我觉得适合帮你解决一下。

答案 1 :(得分:2)

当(在工具,库,方法和知识的当前状态下)XML是首选的示例:

  • 根据某些规则验证(XSD,放松NG)
  • 通过SOAP或REST / XML与已建立的(或某些人可能会说的传统)系统进行通信
  • 基于W3C标准(XML签名)或Oasis标准(WS-Security)的数字签名
  • 某些人可能需要使用一些外部食谱 - XSLT
  • 进行演示
  • 当您需要使用XSL生成PDF时,例如Apache FOP
  • 当您需要使用其标准的web / application.config文件配置.NET应用程序时
  • 当你想完成工作而不是跟随牧群时