【问题标题】:Java Jackson annotation for changing field [duplicate]用于更改字段的 Java Jackson 注释 [重复]
【发布时间】:2018-12-28 03:19:55
【问题描述】:

我必须调用 3rd 方 API 以获取货币汇率,但返回的 JSON 不断变化,如果我请求 MYRUSD 的转换,它将返回给我:{"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;
    }
} 

【问题讨论】:

    标签: java spring jackson


    【解决方案1】:

    {"A":5} 是一个对象,其字段为A,值为5
    {"A":5}Map 与键/值对 A=5

    两者都可以,但由于: 之前的值是动态的(变化的),它是您需要的第二种解释。

    所以不要要求将 JSON 转换为 POJO (FreeCurrencyExchangeRate)。
    要求将其转换为 Map,然后迭代该映射。

    【讨论】:

      猜你喜欢
      • 2020-08-03
      • 1970-01-01
      • 2015-05-31
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多