您现在的位置:首页 >> 前端 >> 内容

json对象和json字符串的区别详解

时间:2018/3/15 12:00:30 点击:

  核心提示:前提之前学json的时候,只是走马观花式的看了一下基础知识,并没有深入的学习和理解。只知道json是JavaScript的对象表示法,是一种轻量级的数据交换格式,使用的是javascript的...

前提

之前学json的时候,只是走马观花式的看了一下基础知识,并没有深入的学习和理解。只知道json是JavaScript的对象表示法,是一种轻量级的数据交换格式,使用的是javascript的语法,用于服务器端向网页传递数据。

今天学习jQuery中的$.ajax()方法时才发现,居然还有个json对象。因为继上次大致的看完json之后,一直都认为json的本质是字符串,而非对象。

之前在百度百科上学习json的时候,我记得有一个大的标题:

JSON与javascript对象的关系

JSON是javascript对象的字符串表示法,它使用文本表示一个javascript对象的信息。 JSON本质上是一个字符串。

当然,下面也配有示例:

var obj = { a: 'Hello' , b: 'World'}; //这是一个对象,注意:键名也是可以用引号包裹的。

var json =' { "a": "Hello" , "b": "World"}';//这是一个JSON字符串,本质是一个字符串。

可能是因为我学的不够认真仔细,看完这以后,json就是字符串的观点在心中就更加根深蒂固了,直至今天才发现。

现在才发现,之前理解的是片面的,我一直误认为json 字符串 就是 json 对象,两个代表的都是json,其实并不是这样的:

json 对象和 json 字符串的区别:

一个类型是字符串,一个类型是对象。 而且json对象是javascript对象的一个子集,属于对象的范畴。

//json 对象
var str1 = { "name": "fly", "sex": "man" };
typeof str1;    //object
//json字符串
var str2 = '{ "name": "fly", "sex": "man" }';
typrof str2;    //string

Tags:JS SO ON N对 
作者:网络 来源:monkeyfly学