分类: Java
2007-06-22 22:59:53
先看看Json的名字 - JavaScript Object Notation。它是数据的描述形式或者规范。它和xml是站在同一个概念层次的。
比如表示一个人
xml说,我们需要这样 ...
Json说,我们这样来表达...
{name:"data1",age:"11"}
也许你会说,都一样啊。有什么区别么,换汤不换药。
对我们人类来说,的确没什么区别。但是对于javascript同胞来说就不一样了。
麻烦的dom解析 vs. 简单的eval()方法
所以,Json是为了javascript而生的一种数据表达形式。
通常来说,Ajax用浏览器把Json数据读取回来,用eval来解析转化为实际的对象,最后通过DHTML来更新页面信息。
从网上找来一个JSON和XML的对比,大家看看。其实本质来说,没什么太多好比的
JSON VS XML
·可读性
JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
·可扩展性
XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
·编码难度
XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
·解码难度
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
·流行度
XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous JavaScript and JSON)了。