什么是JSON
JSON(Javascript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, Javascript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
JSON概念很简单,就是服务器直接生成Javascript语句,客户端获取后直接用eval方法来获得这个对象,这样就可以省去解析XML的性损失。
使用XML表示:
-
1
Jackson
http://www.jb51.net
Welcome to Web.cn
-
2
Relkn
http://www.jb51.net
Web.cn关注互联网新技术
-
3
Kvogend
http://www.jb51.net
jb51.net脚本之家
代码:
-
1
Jackson
http://www.jb51.net
Welcome to Web.cn
-
2
Relkn
http://www.jb51.net
Web.cn关注互联网新技术
-
3
Kvogend
http://www.jb51.net
jb51.net脚本之家
使用JSON:
{items:[
{
id:1,
author:\"Jackson\",
url:\"http://www.jb51.net\",
content:\"Welcome to Web.cn\"
},
{
id:2,
author:\"Relkn\",
url:\"http://www.jb51.net\",
content:\"Web.cn关注互联网新技术\"
},
{
id:3,
author:\"Kvogend\",
url:\"http://www.jb51.net\",
content:\"jb51.net脚本之家\"
}
]};
代码:
{items:[
{
id:1,
author:\"Jackson\",
url:\"http://www.jb51.net\",
content:\"Welcome to Web.cn\"
},
{
id:2,
author:\"Relkn\",
url:\"http://www.jb51.net\",
content:\"Web.cn关注互联网新技术\"
},
{
id:3,
author:\"Kvogend\",
url:\"http://www.jb51.net\",
content:\"jb51.net脚本之家\"
}
]};
JSON不仅减少了解析XML解析带来的性能问题和兼容性问题,而且对于Javascript来说非常容易使用,可以方便的通过遍历数组以及访问对象属性来获取数据,其可读性也不错,基本具备了结构化数据的性质。不得不说是一个很好的办法,而且事实上google maps就没有采用XML传递数据,而是采用了JSON方案。
JSON的另外一个优势是"跨域性",例如你在
www.jb51.net的网页里使用
<script>http://www.yyy.com/some.js"> <br><br>是完全可行的,这就意味着你可以跨域传递信息。而使用XMLHttpRequest却获取不了跨域的信息,这是Javascript内部的安全性质所限制的。 <br><br>JSON能完全取代XML吗?当然不能,原因就在于XML的优势:通用性。要使服务器端产生语法合格的Javascript代码并不是很容易做到的,这主要发生在比较庞大的系统,服务器端和客户端有不同的开发人员。它们必须协商对象的格式,这很容易造成错误。 <BR>
</script>
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn