很多时候我们需要组装字符串为json对象,首先要组合字符串,然后转换为json对象,如下面的例子:
<
script type
=
"
text/javascript
"
>
<!--
var a = 50 ,b = " xxx " ;
var arr = " {id: " + a + " ,name:' " + b + " '} " ;
// -->
</ script >
<!--
var a = 50 ,b = " xxx " ;
var arr = " {id: " + a + " ,name:' " + b + " '} " ;
// -->
</ script >
组合成了字符串arr,下一步就是转换成对象了,很快我们会想到使用eval方法,但如果这样做转换会出现错误,今日偶就这样尝试了,那该如何转换成json对象呢?郁闷许久,之后在json官网提供的json.js文件中找到了解决办法,方法如下:
在字符串两端再加上括号然后eval就ok了。测试代码如下:
<
script type
=
"
text/javascript
"
>
<!--
var a = 50 ,b = " xxx " ;
var arr = " {id: " + a + " ,name:' " + b + " '} " ;
arr = eval('(' + arr + ')')
alert(arr.name);
// -->
</ script >
<!--
var a = 50 ,b = " xxx " ;
var arr = " {id: " + a + " ,name:' " + b + " '} " ;
arr = eval('(' + arr + ')')
alert(arr.name);
// -->
</ script >