用于更改字段的 Java Jackson 注释 [重复]
Posted
技术标签:
【中文标题】用于更改字段的 Java Jackson 注释 [重复]【英文标题】:Java Jackson annotation for changing field [duplicate] 【发布时间】:2018-12-28 03:19:55 【问题描述】:我必须调用 3rd 方 API 以获取货币汇率,但返回的 JSON 不断变化,如果我请求 MYR
到 USD
的转换,它将返回给我:"MYR_USD":0.246731
,所以如果我请求 @ 987654324@到USD
,它会回复我"KRW_USD":0.000888
。
我必须使用@JsonProperty
将返回的结果映射到pojo,有什么方法可以吗?
我当前的硬编码解决方法:
@JsonIgnoreProperties(ignoreUnknown = true)
public class FreeCurrencyExchangeRate
@JsonProperty("MYR_USD")
private double rate;
public double getRate()
return rate;
public void setRate(double rate)
this.rate = rate;
【问题讨论】:
【参考方案1】:"A":5
是一个对象,其字段为A
,值为5
。
否 "A":5
是 Map
与键/值对 A=5
。
两者都可以,但由于:
之前的值是动态的(变化的),它是您需要的第二种解释。
所以不要要求将 JSON 转换为 POJO (FreeCurrencyExchangeRate
)。
要求将其转换为 Map
,然后迭代该映射。
【讨论】:
以上是关于用于更改字段的 Java Jackson 注释 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Java Jackson将空字段反序列化为POJO中的默认空列表
如何使用 Jackson json 注释枚举字段以进行反序列化
杰克逊,反序列化具有私有字段的类和没有注释的 arg-constructor