簡體   English   中英

將Complex Json映射到Pojo類

[英]Map Complex Json to Pojo Class

我正在發送以下請求(使用Spring Boot)

 ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class);

響應是json對象(我​​在json對象中省略了很多字段)

{
    "customer": {
        "id": 100,
        "ci": {
            "lDb": "11",
            "localId": "1"
        },
        "cusdata": {},
        "rating": {
            "id": 3140,
            "dateTime": "2019-09-21 06:45:41.10",
            "rawData": {
                "seg": "XYZ",
                "seg2": "XYZ",
                "et": "XYZ_CORP",
                "CountryCodes": [
                    "IN"
                ],
                "doBusiness": "2017-09-20"
                ],
                ...

                ....
                ...
                ...



    "status": "SUCCESS"
}

我需要將以下字段映射到Pojo類

1.localId 2.seg 3.seg2 4.status

我如何創建PojoClass以便自動映射這些字段

所以基本上我的PojoClass應該是什么樣子?

ResponseEntity<PojoClass> response = restTemplate.exchange(url, HttpMethod.GET, request, PojoClass.class);

我建議您使用http://www.jsonschema2pojo.org/之類的網站 在這里,您可以在右側面板上選擇許多選項,並調整要從JSON模式獲取的POJO。

您的PojoClass必須遵循您正在接收的JSON的結構,並具有您感興趣的字段(或所有字段)。

對於頭等艙:

public class PojoClass {
    private Customer customer;
    private String status;
    ...
}

然后,為客戶字段創建一個Customer類,並為其余字段創建更多的類:

public class Customer {
    public String id;
    public CI ci;
    public CustData custData;
    ...
}

創建一個自定義類PojoClass

  public class PojoClass {
        private Integer id;
        private Object ci;
        private Object cusdata;
        private Object rating;
        private Object status;
    }

ResponseEntity<PojoClass> responseEntity = restTemplate.exchange(url,HttpMethod.GET,request,new ParameterizedTypeReference<PojoClass>(){
        });

暫無
暫無

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

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