1.@JsonPropertyOrder
@JsonPropertyOrder(value ={“name”,”id”,”json”})
作用:改变json序列化后的输出顺序
@JsonPropertyOrder(value ={"name","id","json"})
public class MyBean {
@JsonProperty("id")
private int id;
@JsonProperty("name")
private String name;
@JsonRawValue
private String json;
public MyBean(int id, String name, String json) {
this.id = id;
this.name = name;
this.json = json;
}
}
public static void main(String[] args) throws JsonProcessingException{
MyBean myBean = new MyBean(1,"zz","{'attr':false}");
String result = new ObjectMapper().writeValueAsString(myBean);
System.out.println(result);
}
结果:
{"name":"zz","id":1,"json":{'attr':false}}
2.@JsonRawValue
作用:把json字符串序列化成json,代码如上。
3.@JsonValue
作用:输出指定枚举的值
public enum BeanEnum {
TYPE1(1,"Type A"),TYPE2(2,"Type B");
private Integer id;
private String name;
private BeanEnum(Integer id, String name) {
this.id = id;
this.name = name;
}
@JsonValue
public String getName(){
return name;
}
}
public static void main(String[] args) throws JsonProcessingException{
String result = new ObjectMapper().writeValueAsString(BeanEnum.TYPE1);
System.out.println(result);
}
结果
"Type A"
4.@JsonRootName
作用:序列化后的json添加根名
@jsonRootName(value="user")
public class User{
public int id;
public String name;
}
结果:
{
"user"{
"id":1.
"name":"zz"
}
}