@JsonProperty
這個註解提供了序列化和反序列化過程中該java屬性所對應的名稱
@JsonAlias
這個註解只只在反序列化時起作用,指定該java屬性可以接受的更多名稱
public static void main (String[] args ) throws IOException { String a ="{\"NaMe\":\"hello\"}"; ObjectMapper objectMapper = new ObjectMapper(); Label label = objectMapper.readValue(a, Label.class); String labelString = objectMapper.writeValueAsString(label); System.out.println(labelString); } public static class Label{ //反序列化時兩個都可用,都沒有會報錯 //@JsonAlias("NaMe") @JsonProperty("NaMe") public String name; public Label(){ } }
使用@JsonProperty時,序列化結果為:{“NaMe”:“hello”}
使用@JsonAlias時,序列化結果為:{“name”:“hello”}
參考:https://www.concretepage.com/jackson-api/jackson-jsonproperty-and-jsonalias-example.