对象、List、Map 转json

---- bean(对象)、List<bean>、Map<String,Object> 转json ----

对象 

public class User {        
    private String username; 
    private String password; 
       
    public String getUsername() { 
        return username; 
    } 
    public void setUsername(String username) { 
        this.username = username; 
    } 
    public String getPassword() { 
        return password; 
    } 
    public void setPassword(String password) { 
        this.password = password; 
    }        
} 

1.对象 与 json (普通JavaBean(以User为例)转成json格式 )

User user = new User(); 
user.setUsername("cxl"); 
user.setPassword("1234"); 

  1).转成JSONArray类型 

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

 2.List<对象> 与 json

//对象user 与 对象u
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)); 

  2).转成JSONObject类型  

不可直接使用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"}} 

response.getWriter().print(jsonObj); 
js中取数据:alert(data.users[0].username); 
           alert(data.u[0].username); 

3.Map<String,Object> 与 json

Map<String,Object> map = new HashMap<String,Object>(); 
map.put("users", users); 
map.put("u", u);

  1).转成JSONArray类型  

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

  2).转成JSONObject类型  

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); 
发布了80 篇原创文章 · 获赞 0 · 访问量 668

猜你喜欢

转载自blog.csdn.net/weixin_42699486/article/details/93742767