java—使用resttemplate检索和反序列化复杂对象的json

8yoxcaq7  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(289)

我使用rest模板使用restapi

  1. public CoinResponse getExchange(){
  2. List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
  3. MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  4. converter.setSupportedMediaTypes(Collections.singletonList(MediaType.ALL));
  5. messageConverters.add(converter);
  6. restTemplate.setMessageConverters(messageConverters);
  7. return restTemplate.getForObject("https://api.coindesk.com/v1/bpi/currentprice.json", CoinResponse.class);
  8. }

我得到的React是coinresponse的一个例子。在coinresponse中,我可以访问bpiobject示例,但是eur、usd和gbp示例都是空的。我的模型是这样的:

  1. public class CoinResponse {
  2. public CoinResponse() {
  3. }
  4. @JsonProperty
  5. Time TimeObject;
  6. @JsonProperty
  7. private String disclaimer;
  8. @JsonProperty
  9. private String chartName;
  10. @JsonProperty
  11. Bpi BpiObject;
  12. // Getters and Setters
  13. }
  1. public class Bpi {
  2. public Bpi() {
  3. }
  4. @JsonProperty
  5. USD USDObject;
  6. @JsonProperty
  7. GBP GBPObject;
  8. @JsonProperty
  9. EUR EURObject;
  10. // Getter and Setters


我做错什么了?用restemplate解决这个问题的正确方法是什么?
我的货币类如下所示:

  1. public class EUR {
  2. public EUR() {
  3. }
  4. @JsonProperty
  5. private String code;
  6. @JsonProperty
  7. private String symbol;
  8. @JsonProperty
  9. private String rate;
  10. @JsonProperty
  11. private String description;
  12. @JsonProperty
  13. private float rate_float;
  14. // Getter and Setters
  15. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题