JSON被大多数开发语言所支持,正式这种广泛的支持,开发语言解析的便利性以及良好的可读性,JSON经常用于配置文件。

配置文件格式有很多,除了JSON以外,还有ini、Properties、YAML和XML。本小节我们看看XML和JSON的区别。

JSON和 XML非常的相似。它们都试图通过建立一种简单,可读性强的数据传输格式。

JSON MySQL配置实例

{
    "mysql": {
        "url": "jdbc:mysql://localhost/testdb",
        "username": "root",
        "password": "password"
    }
}

XML MySQL配置实例

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <mysql>
      <password>password</password>
      <url>jdbc:mysql://localhost/testdb</url>
      <username>root</username>
   </mysql>
</root>

JSON和XML比较:

  • 可读性:JSON和XML的可读性可谓不相上下,JSON是简单的键值对存储,XML是规范的标签,格式统一,两者各有优势。
  • 可扩展性: XML支持属性信息,浏览器可直接渲染,有很好的扩展性。不过,JSON源自于JavaScript,可以存储复杂的数据类型,有着XML难以比拟的优势。
  • 编码难度: XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有JavaScript原生的JSON.parseJSON.stringify方法,以及阿里巴巴的fastjson解析工具等。但是JSON的编码明显比XML容易许多,即使不借助工具也能很轻松的写出JSON代码。
  • 解码难度:XML的解析得考虑子节点父节点关系,让人头昏眼花,节点查找复杂,而JSON的解析难度几乎为零。
  • 流行度:曾经XML被广泛应用,但随着JavaScript前端技术的流行,在Ajax领域,JSON正在超越XML。