首页 > 代码库 > json小实验

json小实验

 

看了汤姆大叔的博客http://www.cnblogs.com/TomXu/archive/2012/01/11/2311956.html 

博客原文:

我认为很多JavaScript开发人员都错误地把JavaScript对象字面量(Object Literals)称为JSON对象(JSON Objects),因为他的语法和JSON规范里描述的一样,但是该规范里也明确地说了JSON只是一个数据交换语言,只有我们将之用在string上下文的时候它才叫JSON。

// 这是JSON字符串var foo = ‘{ "prop": "val" }‘; // 这是对象字面量var bar = { "prop": "val" };

 关于json的解读,我做一个小实验

var data = http://www.mamicode.com/‘{"prop": "haha" }‘;  //如果写成{"prop":"haha"}会出错var parsedData = http://www.mamicode.com/JSON.parse( data );  //parsedData此时变成一个objectalert( parsedData.prop );    // hahavar returnJsonData =http://www.mamicode.com/ JSON.stringify( parsedData ); alert(returnJsonData);   //{"prop":"data"} 关于json的解读,我做一个小实验

这里的data是一个字符串,可以用JSON.parse解析

但我们一般用json发送数据和返回数据都是这样

var data =http://www.mamicode.com/ {    "title": "xxx",    "id" : "xx"    };$.post("xxx.json", data, callback);而我们的json文件是这样{     "success":true    }返回后解析 function callback(data){      data = JSON.parse(data);      alert(data.success); //true       }

好像跨文件发送返回json和在一个script下写的json不太一样?这是看到这样一段评论

--------------------------------------

JSON就是一个有特殊规则的字符串,按照这个规则我们就可以把这个字符串解析成JS对象。

JSON对象就是Gecko 1.9.1引擎用C++实现的一个辅助对象。帮我们方便的将符合JSON字符串转化成JS对象,或者由JS对象转向同样符合JSON规定的字符串。当然你可以起名叫JSON HELPER之类的,只要浏览器是你自己实现的话。

JS用于调整浏览器的解析和渲染过程。浏览器的这个接口不一定用JS来实现,但是JS是最流行的一种对于HTML这个树形结构的操作手段的实现。

ECMA是一种规则,DOM也是一种规则,也可以说是接口。

------------------------------------------------