怎么把后台返回的json对象转换为js对象?

JavaScript023

怎么把后台返回的json对象转换为js对象?,第1张

用eval运行得到结果就行了

例如后台返回的内容保存在变量json

json

=

'{

data:

"string"

}'

//

字符串形式的json数据

object

=

eval(

'('+

json

+

')'

)

//

这样的到的object就是{

data

:

'string'

}

通常都是用eval()函数来进行转换的,例如:var

sJson

=

'{a:

1}'var

o

=

eval('('

+

sJson

+

')')alert(o.a)如果是数组的话,也是类似的,在字符串两边各加上一个小括号,然后用eval()函数将其转换为数组,再赋值给某个变量,就可以直接使用了。

commons-collections-3.2.jarcommons-lang.jarcommons-logging-1.1.jarezmorph-1.0.4.jar这时在测试得到了想要的结果Question q2 = new Question()q2.setId(2)q2.setDescription(descrsssss)q2.setPointInfo(pointkkkk)q2.setType(3)Question q1 = new Question()q1.setId(1)q1.setDescription(descrsssss)q1.setPointInfo(pointkkkk)q1.setType(3)JSONObject jsonObject = new JSONObject().fromObject(q2)System.out.println(jsonObject)List list = new ArrayList()list.add(q1)list.add(q2)JSONArray jsonArr= JSONArray.fromObject(list)System.out.println(jsonArr)输出:{description:descrsssss,id:2,pointInfo:pointkkkk,type:3}[{description:descrsssss,id:1,pointInfo:pointkkkk,type:3},{description:descrsssss,id:2,pointInfo:pointkkkk,type:3}]页面$.post(showQuestions?type=+type,null,callbackShowQuestions,json)这时在回调函数的参数data获得的就是json转换后的js对象数组,以下标方式便可访问数组里的相应对象信息。