【发布时间】:2020-04-16 13:43:33
【问题描述】:
我有以下类,其属性“键”映射到 2 个不同的 JSON 字段
public class A {
@JsonAlias("Key")
private String key;
@JsonProperty("NewKey")
private void unpackNewKey(Map<String, String> NewKey) {
key = NewKey.get("value");
}
}
这是要反序列化的 JSON。
{
"NewKey": {
"value": "newkey",
},
"Key": "key"
}
如果我将上面的 json 反序列化为 A.class
ObjectMapper mapper = new ObjectMapper();
A a = mapper.readValue(json, A.class)
a.key 的值是多少?是newkey 还是key?试图了解杰克逊如何处理冲突。我可以指定订单吗?例如,如果我希望 key 始终映射到 NewKey,如果 Key 和 NewKey 都存在于 json 中,我该怎么办?
【问题讨论】:
-
你试过了吗?你有什么错误吗?
标签: java json jackson json-deserialization jackson2