создание POJO, содержащего только некоторые элементы из ответа

avatar
Abhicruiser
8 августа 2021 в 17:41
44
1
0

Я пытаюсь прочитать ответ JSON с помощью pojo. В ответе много атрибутов, но мне нужно только несколько, я создал POJO только с этими атрибутами, но когда я пытаюсь его прочитать. он не может разобрать его.

Ответ JSON:

[
    {
        "attr_1":1,
        "attr_2":2,
        "attr_3":3,
        "attr_4":4,
        "attr_5":5,
    },
    {
        "attr_1":10,
        "attr_2":20,
        "attr_3":30,
        "attr_4":40,
        "attr_5":50,
    }
]

мой POJO:

@JsonIgnoreProperties(ignoreUnknown = true)
public class MyPOJO {
    @JsonProperty("attr_2")
    private int attr_2;

    @JsonProperty("attr_4")
    private int attr_4;

    public int getattr_2() { return attr_2; }
    public void setattr_2(int attr_2) { this.attr_2 = attr_2;} 

    public int getattr_4() { return attr_4; }
    public void setattr_4(int attr_4) { this.attr_4 = attr_4;} 
}

Мне нужны только attr_2 и attr_4, а не остальные.

вот как я пытаюсь прочитать ответ:

MyPOJO[] arr = response.readEntity(MyPOJO[].class);

но на этом этапе происходит сбой. нам действительно нужно иметь все атрибуты в моем POJO, поскольку их много, а мне нужно мало атрибутов, не хотите иметь избыточный код?

Источник
Stefan Freitag
8 августа 2021 в 17:44
0

Вы пытались добавить «@JsonIgnoreProperties (ignoreUnknown = true)» (от Джексона) в свой класс?

Abhicruiser
8 августа 2021 в 17:49
0

@StefanFreitag, спасибо за предложения, я пробовал, но это не сработало. Я обновил приведенный выше код.

Ответы (1)

avatar
Abhicruiser
8 августа 2021 в 18:22
0

Мне удалось решить проблему. Я создал пустой конструктор, и он сработал. ранее у меня был конструктор только с двумя необходимыми атрибутами.