Maven仓库导包
<!--Json格式化工具-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.13</version>
</dependency>
使用例子
@RequestMapping("/json/idea")
@ResponseBody //直接返回实体类
public Idea findIdeaJson(int id){
return service.findOne(id);
}
@RequestMapping("/json/idea2")
@ResponseBody //把返回值输出成json数据
public Map<String,Object> findIdeaJson2(int id){//使用Map键值对存入需要的字段成json格式
Idea idea = service.findOne(id);
Map<String,Object> map = new HashMap<String, Object>();
map.put("deptname", idea.getEmp().getDept().getName());
map.put("createtime", idea.getCreatetime());
map.put("title", idea.getTitle());
return map;
}
@RequestMapping(value="/json/idea3",produces="application/json;charset=UTF-8")
@ResponseBody //把返回值输出成json数据
public String findIdeaJson3(int id){//拼字符串成json格式
Idea idea = service.findOne(id);
StringBuilder sb = new StringBuilder("{");
sb.append("\"name\":");
sb.append("\"");
sb.append(idea.getEmp().getName());
sb.append("\"");
sb.append(",\"deptname\":");
sb.append("\"");
sb.append(idea.getEmp().getDept().getName());
sb.append("\"");
sb.append("}");
return sb.toString();
}
@RequestMapping(value="/json/idea4",produces="application/json;charset=UTF-8")
@ResponseBody //把返回值输出成json数据
public String findIdeaJson4(int id){ //使用fastjson的过滤类过滤不要的字段
Idea idea = service.findOne(id);
SimplePropertyPreFilter filter = new SimplePropertyPreFilter(Idea.class);
filter.getIncludes().add("title");
filter.getIncludes().add("emp");
filter.getIncludes().add("createtime");
SimplePropertyPreFilter filter2 = new SimplePropertyPreFilter(Emp.class);
filter2.getIncludes().add("id");
filter2.getIncludes().add("name");
String json = JSON.toJSONString(idea,new SimplePropertyPreFilter[]{filter,filter2});
return json;
}
@RequestMapping(value="/json/idea5",produces="application/json;charset=UTF-8")
@ResponseBody //把返回值输出成json数据
public String findIdeaJson5(int id){
Idea idea = service.findOne(id);
SimplePropertyPreFilter filter = new SimplePropertyPreFilter(Idea.class,"title","createtime","emp");
SimplePropertyPreFilter filter2 = new SimplePropertyPreFilter(Emp.class,"id","name");
String json = JSON.toJSONString(idea,new SimplePropertyPreFilter[]{filter,filter2});
return json;
}
@RequestMapping(value="/json/idea6",produces="application/json;charset=UTF-8")
@ResponseBody //把返回值输出成json数据
public String findIdeaJson6(){
List<Idea> list = service.findAll();
SimplePropertyPreFilter filter = new SimplePropertyPreFilter(Idea.class,"title","createtime","emp");
SimplePropertyPreFilter filter2 = new SimplePropertyPreFilter(Emp.class,"id","name");
String json = JSON.toJSONString(list,new SimplePropertyPreFilter[]{filter,filter2});
return json;
}