zoukankan      html  css  js  c++  java
  • 转!!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); 

  • 相关阅读:
    pytorch-卷积基本网络结构-提取网络参数-初始化网络参数
    pytorch-mnist神经网络训练
    python 面对对象 类(继承, 多态)
    注意机制CBAM
    python sqlalchemy 进行 mysql 数据库操作
    python pymysql 连接 mysql数据库进行操作
    mysql数据库基础
    python正则表达式解析(re)
    python 装饰器 (test = submit(test))
    对opencv读取的图片进行像素调整(1080, 1920) 1.cv2.VideoCapture(构造图片读取) 2.cv2.nameWindow(构建视频显示的窗口) 3.cv2.setWindowProperty(设置图片窗口的像素) 4.video_capture(对图片像素进行设置)
  • 原文地址:https://www.cnblogs.com/wuyun-blog/p/5752583.html
Copyright © 2011-2022 走看看