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