json对象和js对象的区别
总是感觉json对象和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json对象有什么区别?!就是感觉json对象的key要用""括起来,但是js对...
总是感觉json对象和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json对象有什么区别?!就是感觉json对象的key要用" "括起来,但是js对象的字面量表示法不需要。
比如:
js对象的字面量表示法:
var people1={
name:'hehe',
age:18
};
json对象的格式是:
var people1={
"name":'hehe',
"age":18
};
就这点区别吗?这有什么区别吗?求js高手指教。 展开
比如:
js对象的字面量表示法:
var people1={
name:'hehe',
age:18
};
json对象的格式是:
var people1={
"name":'hehe',
"age":18
};
就这点区别吗?这有什么区别吗?求js高手指教。 展开
4个回答
2018-06-27 · 知道合伙人软件行家
关注
展开全部
首先,要搞清楚这2个东西
1.JS是一种脚本语言,你所谓的对象,其实还只是处在源码阶段,当这段符合语法的文本被脚本引擎解释之后,在内存中才会产生对象,至于是否符合语法,取决于脚本引擎。
2.JSON不是一种语言,它仅仅是一种数据的表达方式,从某种程度上来讲,JSON跟XML没有什么区别。
之所以LZ会有这样的疑虑,原因在于对数据的理解存在偏差,对于JS的字面量来说,这段文本仅仅是代码的一部分,相当于指令,而JSON文本,其本身就表示了数据。二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。
另外,JS必须交给JS脚本引擎处理,而JSON的字符串,任何程序都能处理,至于引号的问题,取决于JSON解析器的容忍程度,如果你愿意,也可按照自己的意愿写一个解析器,能够容忍包括不写引号,或者单/双引号,甚至其他任何符号作为边界符。
1.JS是一种脚本语言,你所谓的对象,其实还只是处在源码阶段,当这段符合语法的文本被脚本引擎解释之后,在内存中才会产生对象,至于是否符合语法,取决于脚本引擎。
2.JSON不是一种语言,它仅仅是一种数据的表达方式,从某种程度上来讲,JSON跟XML没有什么区别。
之所以LZ会有这样的疑虑,原因在于对数据的理解存在偏差,对于JS的字面量来说,这段文本仅仅是代码的一部分,相当于指令,而JSON文本,其本身就表示了数据。二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。
另外,JS必须交给JS脚本引擎处理,而JSON的字符串,任何程序都能处理,至于引号的问题,取决于JSON解析器的容忍程度,如果你愿意,也可按照自己的意愿写一个解析器,能够容忍包括不写引号,或者单/双引号,甚至其他任何符号作为边界符。
展开全部
json 是一种轻量级的数据交换格式。json对象 可以理解成 符合 json格式规范 的对象,对于 js 来说,它就是一个普通的对象,没有什么区别。
为什么要按照这样子的格式呢?一种格式规范,是为了各种编程语言能够有一个准则来进行数据的创建和交换。
为什么要按照这样子的格式呢?一种格式规范,是为了各种编程语言能够有一个准则来进行数据的创建和交换。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
json 是一种轻量级的数据交换格式。json对象 可以理解成 符合 json格式规范 的对象,对于 js 来说,它就是一个普通的对象,没有什么区别。
为什么要按照这样子的格式呢?一种格式规范,是为了各种编程语言能够有一个准则来进行数据的创建和交换。
为什么要按照这样子的格式呢?一种格式规范,是为了各种编程语言能够有一个准则来进行数据的创建和交换。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你去json.org看看就知道了,json允许的数据类型是有限的,只有:
string
number
object
array
true
false
null
其他的类型如NAN,undefined等是不允许的
string
number
object
array
true
false
null
其他的类型如NAN,undefined等是不允许的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询