欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-11-20 14:49:30
前提 之前学json的时候,只是走马观花式的看了一下基础知识,并没有深入的学习和理解。只知道json是JavaScript的对象表示法,是一种轻量级的数据交换格式,使用的是Jav...

前提

之前学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