在js中怎么解析JsonObject对象数组

JavaScript015

在js中怎么解析JsonObject对象数组,第1张

js和java中的json对象无法互相转换的吧(用struts2可以),可以在java中将对象转换为json字符串,传到js后,再在js中将json字符串转换成json对象

Java code

Map map1 = new HashMap()

Map map2 = new HashMap()

map1.put("id", 1)

map1.put("name", "张三")

map2.put("id", 2)

map2.put("name","李四")

List list = new ArrayList()

list.add(map1)

list.add(map2)

Map jsonMap = new HashMap()

jsonMap.put("jsonstr",list) //必须是map对象才能转换成json对象

JSONObject json = JSONObject.fromObject(map)//要用到json-lib-2.3-jdk15.jar

return json.toString()

记得引入json.js

JScript code

UserAction.getUser(function(result) { var jsonResult = JSON.parse(result)//如何不行用var jsonResult=JSON.parseJSON(),json版本问题 var resultList = jsonResult['jsonstr']for(var one in resultList){ var item= resultList[one]alert(item.id)alert(item.name)}

unescape('\u4ec5\u552e12.8\u5143\uff01\u4ef7\u503c634\u5143\u7684E\u5149\u51b0\u70b9\u8131\u6bdb\/\u70b9\u7a74\u51cf\u80a5\u5851\u5f622\u90091\u5957\u9910\uff0c\u7537\u5973\u4e0d\u9650\uff0c\u63d0\u4f9b\u514d\u8d39WiFi\u3002\u8ba9\u7f8e\u4e3d\u7efd\u653e\uff0c\u8ba9\u9752\u6625\u6c38\u9a7b\uff01')

以下是几种js读出的json数据的方式:

var json = {  contry:{ area:{ man:"12万",  women:"10万" } } }

方式一:使用eval解析  var obj = eval(json)  alert(obj.constructor)alert(obj.contry.area.women)   //

方式二:使用Funtion函数

var strJSON = "{name:'json name'}"//得到JSON  var obj = new Function("return" + strJSON)()//转换后的JSON对象     alert(obj.name)//json name      alert(obj.constructor)

复杂一点的json数组数据的解析 var value1 = [{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"}, {"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"}, {"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}]   var obj1 = eval(value1)  alert(obj1[0].c01)  /

复杂一点的json的另一种形式

var value2 = {"list":[ {"password":"1230","username":"coolcooldool"}, {"password":"thisis2","username":"okokok"}], "array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]}   var obj2 = eval(value2)  alert(obj2.list[0].password)