使用eval()将json字符串转换为对象要多加一个小括号

使用eval()将json字符串转换为对象要多加一个小括号:
关于eval()函数的具体用法这里就不多介绍了,具体可以参阅javascript的eval()方法一章节,下面就介绍一下为什么使用eval()函数将json格式字符串转换为对象的时候,需要多嵌套一层小括号,下面就介绍一下它的原因,希望能够对需要的朋友带来帮助。
先看一段转换代码:

var jsonStr=‘{"webName":"蚂蚁部落","webAddress":"青岛市南区","age":2}‘;
var jsonObject=eval("("+jsonStr+")");
console.log(jsonObject.webName);

以上代码可以将一个json格式字符串转换成对象,下面就介绍一下为何要嵌套一个效果括号。
如果不加小括号的话,字符串将被eval()函数处理为:

{"webName":"蚂蚁部落","webAddress":"青岛市南区","age":2}

在js中,如果一段代码既可以认为是表达式也可以认为是语句,那么语句优先,所以上面就是一个语句,那么"webName":"蚂蚁部落"就是标签语句,但是逗号运算符后面也是一个标签语句就不对了,因为运算符后面要跟着表达式才可以。如果外面套上一层小括号,那么代码就会被eval()处理成:

({"webName":"蚂蚁部落","webAddress":"青岛市南区","age":2})

因为小括号之中必须是表达式,那么里面的内容就成了一个对象直接量表达式,也就是转换成功了。
相关阅读:
1.大括号的用法可以参阅javascript中大括号{}的用法详解一章节。 
2.小括号的用法可以参阅js中小括号()的用法详解一章节。
3.对象直接量可以参阅javascript中什么是对象直接量一章节。
4.标签语句可以参阅javascript标签语句简单介绍一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11827

更多内容可以参阅:http://www.softwhy.com/javascript/

时间: 2024-10-10 10:00:39

使用eval()将json字符串转换为对象要多加一个小括号的相关文章

eval()将json 字符串转换为数组

json ={ GW:[{id:"655",mc:"董事"},{id:"656",mc:"书记"},{id:"804",mc:"经理"},{id:"818",mc:"财务总监"},{id:"820",mc:"助理"}], GZ:[{id:"1",mc:"电工"},{id

JSON字符串与对象相互转换

JSON.parse()方法:将JSON字符串转换为对象: JSON.stringify()方法:将JSON对象转换为字符串. parse用于从一个字符串中解析出json对象,如 var str = '{"name":"LiuWei","sex":"male","age":24}'; var obj = JSON.parse(str); console.log(obj); 结果: Object age:24

【荐】使用eval()、new Function()将JSON字符串转换为JSON对象

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用jQuery的each方法来遍历 用jQuery解析JSON数据的方法,作为jQuery异步请求的传输对象,jQuery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明. 这里首先

json字符串转换为json对象

json字符串转换为json对象         var str = '{ "name": "cxh", "sex": "man" }';         1.使用eval()方法                 eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象.必须把文本包围在括号中,这样才能避免语法错误. var obj = eval('(' + str

js 将json字符串转换为json对象的方法解析(转)

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法.在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": &

js 将json字符串转换为json对象的方法解析

例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man" }; 一.JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JS

如何将json格式字符串转换为对象

如何将json格式字符串转换为对象: 下面通过实例简单介绍一下如何将json格式的字符串转换为对象. json格式字符串如下: var str="{'webName':'蚂蚁部落','address':'青岛'}"; 上面是一个字符串,下面就将它转换为对象,代码如下: var str="{'webName':'蚂蚁部落','address':'青岛'}"; var obj=eval("("+str+")"); document

js 将json字符串转换为json对象

要引入:jquery-json-2.4.js 在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如: JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "

js 将json字符串转换为json对象或json对象转换成json字符串

JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man" }; 一.JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JSON对象