转!!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);
最新文章
- mysql 完整性约束
- 扁平设备树(FDT)
- windows 7下qtcreator里QWT文件的pro配置
- wamp开机自启动
- ManualResetEvent和AutoResetEvent的区别实例
- 时钟 IoTimer
- 数组的filter方法
- 【剑指offer 面试题17】合并两个排序的链表
- 集群搭建:主机宽带拨号上网,虚拟机使用桥接模式,该如何ping通外网
- 通讯录改造——MVC设计模式
- grouth:全栈工程师指南
- 使用 Oracle Sql plus的一点经验
- ubuntu 16.04 安装 kubelet、kubeadm 和 kubectl
- 获取自定义data的几种属性
- 【RS】Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model - 当因式分解遇上邻域:多层面协同过滤模型
- mongodb 安装(官方说明链接)
- 5W2H+35问
- C语言学习笔记 (001) - 常量指针与指针常量的区别(转帖)
- gulp之压缩css,less转css,浏览器实时刷新【原创】
- redis-win7