天天看点

JAVA array,map 转 json 字符串

JAVA array,map 转 json 字符串

  

普通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); 

alert(data.username); 

alert(data.password); 

List转成json格式 

List<User> users = new ArrayList<User>(); 

User u = new User(); 

u.setUsername("lhl"); 

u.setPassword("1234"); 

users.add(user); 

users.add(u); 

JSONArray json = JSONArray.fromObject(users); 

System.out.println(json.toString()); 

//[{"password":"1234","username":"cxl"},{"password":"1234","username":"lhl"}] 

js中取数据:alert(alert(data[0].username)); 

不可直接使用JSONObject jsonObj = JSONObject.fromObject(users); 

可通过下列方式 

JSONObject jsonObj = new JSONObject(); 

jsonObj.put("users", users); 

jsonObj.put("u", u); 

System.out.println(jsonObj); 

{"users":[{"password":"1234","username":"cxl"},{"password":"1234","username":"lhl"}], 

  "u":{"password":"1234","username":"lhl"}} 

js中取数据:alert(data.users[0].username); 

           alert(data.u[0].username); 

Map转成json格式 

Map<String,Object> map = new HashMap<String,Object>(); 

map.put("users", users); 

map.put("u", u); 

JSONArray json = JSONArray.fromObject(map); 

System.out.println(json.toString());// 

[{"users":[{"password":"1234","username":"cxl"},{"password":"1234","username":"lhl"}],"u":{"password":"1234","username":"lhl"}}] 

response.getWriter().print(json.toString); 

js中取数据:alert(data[0].users[0].username); 

JSONObject json = JSONObject.fromObject(map); 

System.out.println(json);// 

{"user":[{"password":"1234","username":"cxl"},{"password":"1234","username":"lhl"}],"u":{"password":"1234","username":"lhl"}} 

response.getWriter().print(json); 

js中取数据:alert(data.user[0].username);