• 转!!JavaBean,List,Map转成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; } }

      

    注意!!进行转换的类一定要是public类型的,否则会报如下错误:.TemplateModelException: Method public java.lang.String org.apache.commons.lang.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on net.sf.json.JSONException: java.lang.NoSuchMethodException: Property 'contents' has no getter method in class 'class com.yesrj.plm2.workflow.action.WorkflowDesignAction$FlowViewNode'

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


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


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

  • 相关阅读:
    Java-死锁
    Java使用Redis
    MySQL如何开启慢查询
    VGG
    如何使用Soft-NMS实现目标检测并提升准确率
    非极大值抑制(NMS)
    迁移学习与fine-tuning有什么区别
    Keras-在预训练好网络模型上进行fine-tune
    Kotlin——初级篇(六):空类型、空安全、非空断言、类型转换等特性总结
    Kotlin——初级篇(五):操作符与操作符重载一
  • 原文地址:https://www.cnblogs.com/wuyun-blog/p/5752583.html
Copyright © 2020-2023  润新知