@JsonIgnore
加入该注解,在转换成json的时候会忽略该属性 在jackson中有效
@JsonProperty("xxx")
加入该注解,在转换成json的时候,json中该字段的名字会改成注解中的名字,jackson有效
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
如果不加该注解,那么转换成json的时候会直接是时间戳1515160387634,加了之后会转换成正常的时间格式.只对jackson有效
使用map
- User类:
public class User {
private Long id;
@JsonProperty("uname")//加入该注解,在转换成json的时候,json中该字段的名字会改成注解中的名字,jackson有效
private String name;
@JsonIgnore //加入该注解,在转换成json的时候会忽略该属性 在jackson中有效
private Integer age;
//如果不加该注解,那么转换成json的时候会直接是时间戳1515160387634,加了之后会转换成正常的时间格式.只对jackson有效
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date birthday = new Date();
//上述注解会将代码写死,一般实际开发中,会提供一个同Json方法,返回一个map,然后控制器中也是返回一个map
public Map<String, Object> toJson(){
Map<String, Object> map = new HashMap<>();
map.put("id", id);
map.put("name", name);
map.put("age", age);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
map.put("birthday", sdf.format(birthday));
return map;
}
}
- Controller类
@RequestMapping(value="jsonTestTwo",produces="application/json;charset=utf-8")
@ResponseBody
public Map<String, Object> jsonTestTwo() throws Exception {
User user = new User(2L,"小海",18,new Date());
return user.toJson();
}