您可以嘗試使用Jackson annotation
。 Jackson註釋@JsonCreator
用於告訴Jackson Java對象有一個構造函數(「創建者」),它可以將JSON對象的字段與Java對象的字段進行匹配。
讓我們考慮一下我們想要反序列化的JSON對象。
{
"name":"Mr.Bond",
"age":"30"
}
您可以通過註釋與@JsonCreator
的構造和使用@JsonProperty
public class UserProfileCreator {
public int age;
public String name;
@JsonCreator
public UserProfileCreator(
@JsonProperty("age") int age,
@JsonProperty("name") String name) {
this.age = age;
this.name = name;
}
}
如何將它的工作解組消息?
讓我們寫一個小測試程序。
@Test
public void deserialize()
throws JsonProcessingException, IOException {
String json = "{"age":30,"name":"Mr.Bond"}";
UserProfileCreator obj = new ObjectMapper().reader(UserProfileCreator.class).readValue(json);
assertEquals("Mr.Bond", obj.name);
}
我認爲這個博客文章是相關的,達格,[傑克遜沒有註釋](https://manosnikolaidis.wordpress.com/2015/08/25/jackson-without-annotations/)。 – DavidS
我想你應該在你的問題_(不是評論)中澄清你想要的東西。你想能夠序列化沒有構造函數的對象,或者你不想註釋你的類或其他東西嗎? – DavidS