簡體   English   中英

在RestTemplate中映射復雜的JSON對象

[英]Mapping complex JSON objects in RestTemplate

JSON的結構如下:

{
 "id": "0001",
 "type": "portable",
 "name": "mobile",
 "results":[
   { 
    "company": "Apple",
    "country": "US", 
    "city": "Cupertino"
   },
   { 
    "company": "Google",
    "country": "Japan", 
    "city": "Tokyo"
   }
  ]
}

我試圖將上述json映射到我的“ Response”類,但是我只能檢索id,類型和名稱。 對於json對象,“結果”顯示結果:[]。 這是我實現的代碼;

CompanyDetail類:

@JsonIgnoreProperties(ignoreUnknown = true)
public class CompanyDetail {
    public String company;
    public String country;
    public String city;

   //getters and setters
}

公司類別:

    @JsonIgnoreProperties(ignoreUnknown = true)
public class CompanyD {
    public String name;
    public List<Detail> result;

   //getters and setters
}

實現類:

  @Override
  public ResponseEntity<String> getResponseEntity() {       
      RestTemplate restTemplate = new RestTemplate();
      ResponseEntity<String> response = restTemplate .getForEntity(
      "url", String.class);       
      logger.info("Response:"+response);
      return response;
}

    @Override
    public Company getResponseObject() {
        RestTemplate restTemplate=new RestTemplate();
        Company comp=(Company) restTemplate.getForObject("url",
                     Company.class,200);
        List<CompanyDetail> companyInfo = comp.getCompanyDetail();
        for (CompanyDetail companyDetail : companyInfo) {
            logger.info("Country:"+companyDetail.getCountry());
            logger.info("City:"+companyDetail.getCity());
            logger.info("Company:"+companyDetail.getCompany());
        }
    return comp;

從這兩種實現方法中,我都獲得了“結果” json對象的空值。 我無法弄清楚我的代碼出了什么問題。

提前致謝。

我遇到了同樣的問題,但是在您的情況下,您似乎拼錯了“ resluts”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM