很多资料上都说JSON在更多的场合都比XML更适合Ajax的数据传送,百度了一下,看了一些介绍,小试一下,觉得的确比xml简便,不需要像XML那样做语法解析,还是先看看下面这段代码
<script language="JavaScript" type="text/javascript">
var d = {
"msg":[
{"user":"张三","msg":"你好"},
{"user":"李四","msg":"嘿嘿"}
],
"type":["test","test2"] //"type":"test"
};
alert(d.type[1]);
alert(d.msg[0].msg);
alert(d.msg.length);
for (var o in d){
alert(d[o]);
}
</script>
如上代码,将type部分改成注释的内容,则第一个alert改为 alert(d.type),由此你可以看到读取数据上的区别
下面再来了解一下什么是Json:
JSON,JavaScript Object Notiation,是一种轻量级的数据交换格式,
基于JavaScript Programming Language, Standard ECMA-262 3rd Edition-December 1999。
和XML类似,都是独立于语言,在跨平台数据传输中非常有优势,
但XML 需要DOM来解析,而对浏览器来说,不同厂商的支持的XMLDOM又有所不同,这给WEB开发者或多或少带来不少痛苦,特别是在AJAX被大家普遍使用来 后,不少开发者返回的都是HTML片断,而不是XML,包括我也是,除非产品仅限使用IE时在必要的时候才会使用XML来传输。JSON是 Javascript的一个子集,由Douglas Crockford约束,正在提交draft到IETF;分析JSON字符串到Javascript对象只要一句话而已(eval)。
JSON的结构也很简单,“键/值”对的集合,支持嵌套,不需要额外的解析器。
XML和JSON格式对比如下,通过以下内容增强了解json格式的组成
如下的XML格式是
<demo>
<blog>
http://www.soview.net/blog</blog>
<author>sage</author>
<article>
<title>JSON</title>
<catalog>AJAX</catalog>
<text>This is a demo for json</text>
</article>
<article>
<title>AJAX</title>
<catalog>AJAX</catalog>
<text>This is a demo for AJAX</text>
</article>
</demo>
对应的JSON形式:
{
"demo":{
"blog":"
http://www.soview.net/blog",
"author":"sage",
"article":
[{
"title":"JSON",
"catalog":"AJAX",
"text":"This is a demo for json"
},
{
"title":"AJAX",
"catalog":"AJAX",
"text":"This is a demo for AJAX"
}
]
}
}
评论列表