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

JavaScript011

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

一楼说的是错的。返回的是字符串,js引擎是不可能直接解析的,直接赋值的操作得到的是个字符串,而不是js Object。

需要使用json parse操作,将JSON格式字符串转换成JS对象。

可以使用jQuery(1.4.2+版本)的解析工具 jQuery.parseJSON()工具,或者IE8+以上版本使用浏览器原生的JSON.parse()。如果是IE8以下版本,可以使用json2.js库

JS中如何把JSON格式的字符串转化为一个对象或数组呢?下面小编就为大家带来一篇js 转json格式的字符串为对象或数组(前后台)的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一、前台

// 转换成对象

var myObject = JSON.parse(_data)

alert("对象:"+myObject.msg)

// 转换成数组

var myobj = eval("["+_data+"]")

for (var i = 0i <myobj.lengthi++) {

alert("数组:"+myobj[i].msg)

}

//把json格式的字符串转成JSON对象

var json1 = '{"department": "中兵","address": "北京","contacts": "李硕","telphone": "15201274666","email": "[email protected]","fax": "0108596666"}'

var json2 = '{"department": "中兵2","address": "北京2","contacts": "李硕2","telphone": "152012746662","email": "[email protected]","fax": "01085966662"}'

var jsonObj = $.parseJSON(json1)或用eval方法

//把数组转成JSON对象

var arr=new Array()

arr.push(json1)

arr.push(json2)

var b=JSON.stringify(arr)

二、后台

当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。

首页导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" // 一个未转化的字符串

JSONArray json = JSONArray.fromObject(str )// 首先把字符串转成 JSONArray 对象

if(json.size()>0){

for(int i=0i<json.size()i++){

JSONObject job = json.getJSONObject(i)// 遍历 jsonarray 数组,把每一个对象转成 json 对象

System.out.println(job.get("name")+"=") // 得到 每个对象中的属性值

}

}

以上就是小编为大家带来的js 转json格式的字符串为对象或数组(前后台)的方法全部内容。