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

 我来答
折柳成萌
高粉答主

2018-03-20 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:5893万
展开全部

JSON字符串与JSON对象的区别

Q:什么是"JSON字符串",什么是"JSON对象",两者的区别?

a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;

JSON对象:

var str2 = { "name": "deluyi", "sex": "man" };

JSON字符串:

var str1 = '{ "name": "deyuyi", "sex": "man" }';

Q:将"JSON字符串"转化为"JSON对象"的方法?

一:使用$.parseJSON(str)

//由JSON字符串转换为JSON对象var str='{ "name": "John" }';var obj = jQuery.parseJSON(str)alert("1"+ obj.name);

ps:此种方式仅支持标准格式:var str='{ "name": "John" }';二:JSON.parse(str)

var str = '{ "name": "mady", "age": "24" }';var obj = JSON.parse(str);alert(obj.name);

ps:此种方式仅支持标准格式:var str='{ "name": "John" }';

三:使用eval('('+str+')');

//由JSON字符串转换为JSON对象var str='{ "name": "John" }';var obj = eval('(' + str + ')');alert( obj.name);var str2="{ 'name': 'John' }";var obj2 = eval('(' + str2 + ')');alert( obj2.name);var str3="{ name: 'John' }";var obj3 = eval('(' + str3 + ')');alert( obj3.name);

以上均会输出结果“john”。

Eval方式可以转换以下标准和非标准格式字符串:

var str="{ 'name': 'John' }";var str2='{ "name": "John" }';var str3="{ name: 'John' }";

Q:将"JSON对象"转化为"JSON字符串"的方法?

一:使用全局方法JSON.stringify()与toJSONString()

例如:

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

或者

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

alert(last);

Q:读取JSON对象的方法?

如上面的例子:

var str2 = { "name": "mady", "sex": "man" };

就可以这样读取:

alert(str2.name);//和C#一样直接往出点…

弹出” mady”。

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

var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};

解析用:

alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次

弹出:”mady”。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式