0
鑑於JSON是這樣的:如何在將JSON反序列化爲Java對象時將父屬性映射到子對象?
{
"locale" : "US",
"children" : [
{
"foo" : "bar"
},
{
"foo" : "baz"
}
]
}
被映射到Java對象是這樣的:
public class Parent {
@JsonProperty public String getLocale() {...}
@JsonProperty public List<Child> getChildren() {...}
}
public class Child {
public void setLocale(String locale) {...}
@JsonProperty public String getFoo() {...}
}
我怎麼能填充兒童情況的locale屬性與在JSON頂部的值(Parent
)等級?
我想我也許能對Child
的setLocale()
方法使用自定義序列使用@JsonDeserialize(using=MyDeserializer.class)
,但是這不工作(我懷疑這是因爲在子級別的JSON沒有值,因此傑克遜不知道關於任何應該被反序列化到locale
屬性中的值)。
我想避免必須編寫整個Child
類的整個自定義解串器,實際上它有更多的數據要映射。
這是一個有趣的方法。我確實控制了對象模型,所以沒有任何事情嚴格阻止我這樣做。然而,對象模型的結構並不是一種自然的方式,所以我不得不考慮它是否值得這種權衡。 –