js解析后台map转成的json方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js解析后台map转成的json方法相关的知识,希望对你有一定的参考价值。
我的json为["11":"滨江区","12":"的收费"]格式。这是后台将map转化成的json。因为11、12这种key不确定,前台不知道如何拿到"11"和"滨江区"字符串。求高手指教
参考技术A JavaBean(以User为例)转成json格式1.转成JSONArray类型
User user = new User();
user.setUsername("cxl");
user.setPassword("1234");
JSONArray json = JSONArray.fromObject(user);
System.out.println(json);//["password":"1234","username":"cxl"]
response.getWriter().print(json.toString());
在js文件取数据
$.getJSON("http://localhost:8080/jQueryDemo/servlet/UserServlet",null,function(data)
alert(data[0].username);
alert(data[0].password);
);
2.转成JSONObject类型
JSONObject jsonObj = JSONObject.fromObject(user);
System.out.println(jsonObj);//"password":"1234","username":"cxl"
response.getWriter().print(jsonObj);
在js文件取数据
alert(data.username);
alert(data.password);
List转成json格式
List<User> users = new ArrayList<User>();
User user = new User();
user.setUsername("cxl");
user.setPassword("1234");
User u = new User();
u.setUsername("lhl");
u.setPassword("1234");
users.add(user);
users.add(u);
1.转成JSONArray类型
JSONArray json = JSONArray.fromObject(users);
System.out.println(json.toString());
//["password":"1234","username":"cxl","password":"1234","username":"lhl"]
response.getWriter().print(json.toString());
js中取数据:alert(alert(data[0].username)); 参考技术B var array = ["11":"滨江区","12":"的收费"];
for(var i=0;i<array.length;i++)
var obj=array[i];
for(var p in obj)
console.log(p + ":" + obj[p]);
追问
谢谢你的回答。这样子是可以的,但我也遇到了麻烦。原来在这里map转成json后格式为
["44":"上新镇","22":"浦沿镇","33":"闻堰镇","54":"田田镇"]。array.length=1,所以在用的时候只需要 var obj=array[0];就好了,外面的循环不用。
疑问:for(var p in obj) 是js访问类的成员变量以及其值得通用方法么?之前完全没用过。
js解析后台json数据
List<Map<String, String>> jsonArray = new ArrayList<Map<String,String>>(); for(TSUser tsUser:userList){ Map<String, String> map = new HashMap<String, String>(); map.put("id", tsUser.getId()); map.put("name", tsUser.getRealName()); jsonArray.add(map); } return JSON.toJSONString(jsonArray);
这是后台返回的json数据
function (json) { alert(json) var obj = eval(‘(‘ + json + ‘)‘);
这是前台接收到之后,需要用
eval(‘(‘ + json + ‘)‘);
来解析
数据样式:
[{"id":"4028ac00727295b0017273d24d090042","name":"user021111"},{"id":"4028c013640c200f01640c3029a4001e","name":"测试用户一"}]
以上是关于js解析后台map转成的json方法的主要内容,如果未能解决你的问题,请参考以下文章