JSON格式与XML格式的优劣比较



    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。具体的表示格式见官方说明

    XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

    两者的共同优点是都是文本表示的数据格式,可以跨平台、跨系统交换数据。



    可读性和可扩展性而言,JSON和XML不相上下。

    编码难度而言,JSON略比XML简单,要写好XML最好还是借助XML编辑器,标签的嵌套和配对手动输入来说容易出错。因此,从代码的可维护性角度而言,JSON优于XML。

    内容解析而言,JSON在客户端只要使用eval()便可完成解析,在服务器端有包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等语言的解析支持,非常简单;而XML则相对复杂,不管在服务器端还是在客户端都需要花费大量的代码来实现解析。具体实例见JSON 与 XML 的比较

    数据表示和传输性能而言,JSON明显比XML简洁,格式简单,占用带宽少。

    安全性而言,由于大部分Javascript库都是使用eval()来解析数据,存在执行恶意JSON数据的安全漏洞;当然可以使用专门的JSON解析器来避免这个问题。相比,XML更安全一些。

    参考资料:

    1. http://www.json.org/json-zh.html
    2. JSON 与 XML 的比较


    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《JSON格式与XML格式的优劣比较
    标签:
    分享:

已经有1 条评论抢在你前面了~

无觅相关文章插件,快速提升流量