0
我是傑克遜主題中的新人,我沒有找到任何可以幫助我解決問題的答案。在實體中使用根名稱作爲屬性
對於秒讓我們假設我有這個類:
public class Airport {
private String name;
private String code;
...
}
我的JSON是這樣的:
"XXX": {
"name": "SomeName",
}
我想迫使傑克遜把XXX
(樹根)到code
來自班級的財產。我用它來創建JSON對象的標準方法是使用treeToValue
:
ObjectMapper mapper = new ObjectMapper();
String airports = "above Json";
JsonNode airportsTree = mapper.readTree(airports.toString());
Airport airport = mapper.treeToValue(airportsTree, Airport.class);
然而,當我使DeserializationFeature.UNWRAP_ROOT_VALUE
我得到
JsonMappingException:根目錄名稱「XXX」不匹配,期望(「JsonNode」 )類型[簡單類型,類com.fasterxml.jackson.databind.JsonNode]
但隊友的問題是,這個值是每條記錄不同: 'XXX', 'XYZ', 'ABZ' – Silwest
我的意思是'XXX'值(sis根名稱)應該轉到類的'name'部分。 – Silwest