最新消息:Rockyxia Web技术博客全新改版,响应式布局满足各种设备各种尺寸的访问需求。

[JSON学习记录1]初识JSON、JSON与XML

Javascript rockyxia 7530浏览 0评论

JSON

介绍
我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据。通常AJAX通过返回XML格式的数据,然后再通过客户端复杂的JavaScript脚本解析和渲染这些XML格式的数据。
JSON(读Jason)是为了能够使得数据格式成为一种标准,更简单的被JavaScript解析。

优点
1、轻量级的数据交换格式
2、人们读写更加容易
3、易于机器的解析和生成
4、能够通过JavaScript中eval()函数解析JSON
5、JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.

语法
JSON语法是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析。
对象:对象包含在{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。 string : value
数组:数组存放在[]之间 [ elements ]
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null

例子:
JSON

[  
    {  
        name:"Michael",  
        email:"17bity@gmail.com",  
        homepage:"http://www.google.com"  
    },  
    {  
        name:"John",  
        email:"john@gmail.com",  
        homepage:"http://www.google.com"  
    },  
    {  
        name:"Peggy",  
        email:"peggy@gmail.com",  
        homepage:"http://www.google.com"  
    }    
]

事实上google maps就没有采用XML传递数据,而是采用了JSON方案。

JSON的另外一个优势是”跨域性”,例如你在网页里使用

<script type="text/javascript" src="http://www.yyy.com/some.js">

是完全可行的,这就意味着你可以跨域传递信息。而使用XMLHttpRequest却获取不了跨域的信息,这是Javascript内部的安全性质所限制的。

JSON能完全取代XML吗?当然不能,原因就在于XML的优势:通用性。要使服务器端产生语法合格的Javascript代码并不是很容易做到的,这主要发生在比较庞大的系统,服务器端和客户端有不同的开发人员。

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)了。

转载请注明:Rockyxia Web技术博客 » [JSON学习记录1]初识JSON、JSON与XML
感谢阅读,如果您发现文章中有表述不准确,欢迎提出来,也欢迎交流相关问题,你可以去这里进行一对一问答交流。

(本篇完)