json文件跟js文件的代码一样吗

JavaScript010

json文件跟js文件的代码一样吗,第1张

不一样。

_son文件代码是一种轻量级的数据交换格式,主要是为了跨平台交流数据用的,仅仅是一种数据形式。而js文件代码是表示类的实例。

_秸咧湎喔ㄏ喑桑涤_son数据格式是从js对象中演变出来的,它是js的一个子集。区别与json可以跨平台传播速度快,而js不能实现传播。

?

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。JSON的规则很简单: 对象是一个无序的“名称/值”对集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“名称/值”对之间使用“,”(逗号)分隔。

它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;

JSON只是一种数据格式(或者叫数据形式)

<script>var obj2={}//这只是JS对象var obj3={width:100,height:200}/*这跟JSON就更不沾边了,只是JS的 对象 */var obj4={'width':100,'height':200}/*这跟JSON就更不沾边了,只是JS的对象 */var obj5={"width":100,"height":200,"name":"rose"}/*我们可以把这个称做:JSON格式的JavaScript对象 */var str1='{"width":100,"height":200,"name":"rose"}'/*我们可以把这个称做:JSON格式的字符串 */var a=[ {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"}, ]/*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */var str2='['+ '{"width":100,"height":200,"name":"rose"},'+ '{"width":100,"height":200,"name":"rose"},'+ '{"width":100,"height":200,"name":"rose"},'+ ']' /* 这个叫稍复杂一点的JSON格式的字符串 */</script>

JSON和JS对象区别对比表

首先,要搞清楚这2个东西

1.JS是一种脚本语言,你所谓的对象,其实还只是处在源码阶段,当这段符合语法的文本被脚本引擎解释之后,在内存中才会产生对象,至于是否符合语法,取决于脚本引擎。

2.JSON不是一种语言,它仅仅是一种数据的表达方式,从某种程度上来讲,JSON跟XML没有什么区别。

之所以LZ会有这样的疑虑,原因在于对数据的理解存在偏差,对于JS的字面量来说,这段文本仅仅是代码的一部分,相当于指令,而JSON文本,其本身就表示了数据。二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。

另外,JS必须交给JS脚本引擎处理,而JSON的字符串,任何程序都能处理,至于引号的问题,取决于JSON解析器的容忍程度,如果你愿意,也可按照自己的意愿写一个解析器,能够容忍包括不写引号,或者单/双引号,甚至其他任何符号作为边界符。