json对象和json字符串的区别

摘要:JSON (JavaScript Object Notation) 一种简单的数据格式,是一种比较轻量级的数据存储格式;可以运用 toJSONString()或者全局要领 JSON.stringify()将JSON对象转化为JSON字符串。

Json的概念

JSON (JavaScript Object Notation) 一种简单的数据格式,是一种比较轻量级的数据存储格式;

JSON的优势:

1、 JSON更快:
2、兼容性广泛:
3、共享数据的最佳工具
4、在服务器上解析

JSON的缺点:

1、没有错误处理
2、安全性
3、支持工具有限


json对象与json字符串的区别

开发时,json字符串和json对象傻傻分不清楚,ajax异步请求后,会根据返回的data值判断请求是否成功,访问data.msg会提示‘undefined’,将data转换为json对象即可。

JSON对象的属性可以用对象.属性调用,和js中的对象一样,可以用对象(类名)点出属性(方法)。
JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用。

JSON对象:

var str2 = { "name": "fly63前端网", "url": "htttps://www.shenqiku.cn" };

JSON字符串:

var str1 = '{ "name": "fly63前端网", "url": "htttps://www.shenqiku.cn" }';


JSON字符串转换为JSON对象

要运用上面的str1,必须运用下面的要领先转化为JSON对象(这一点在ajax返回的时候,经常遇到!):

//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

console.log(obj.name);
console.log(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。


JSON对象转化为JSON字符串

可以运用 toJSONString()或者全局要领 JSON.stringify()将JSON对象转化为JSON字符串。例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
console.log(last);


读取JSON对象的方法?

var str2 = { "name": "fly63前端网", "url": "htttps://www.shenqiku.cn" };

就可以这样读取:

console.log(str2.name)//'fly63前端网'

或者

str2['name']//'fly63前端网'

如果是变量,只能使用[]的方式:

var key='name
console.log(str2[key])//'fly63前端网'

复杂的JSON对象:

我们遇到的JSON很少有这么简单的,比如复杂一点的JSON对象如:

var str={"data":{"Age":"33","Id":"1","Name":"fly63前端网"}};

解析用:

console.log(str.data.Name); //fly63前端网

或者使用[]:

console.log(str.data['Name']); //fly63前端网
console.log(str['data']['Name']); //fly63前端网

此文很简单,只适合新手!


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_11042