Карта Комплекс Json в Pojo Класс - PullRequest
1 голос
/ 08 июля 2019

Я отправляю следующий запрос (с использованием 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);

Ответы [ 3 ]

2 голосов
/ 08 июля 2019

Я предлагаю вам использовать такие сайты, как http://www.jsonschema2pojo.org/.. Там вы можете выбрать множество параметров на правой панели и настроить POJO, который вы хотите получить из схемы JSON.

0 голосов
/ 08 июля 2019

Создание пользовательского класса 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>(){
        });
0 голосов
/ 08 июля 2019

Ваш PojoClass должен следовать структуре JSON, которую вы получаете, и иметь поля, которые вас интересуют (или все).

Для класса первого уровня:

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

Затем создайте класс Customer для полей клиента и создайте дополнительные классы для остальных полей:

public class Customer {
    public String id;
    public CI ci;
    public CustData custData;
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...