Какой подход записи обобщенных методов является предпочтительным и наиболее правильным?

Как десериализовать полученный JSON-ответ с сайта в экземпляр класса Answer?
  • 15 февраля 2024 г. 7:48
Ответы на вопрос 2
Предпочтительным и наиболее правильным подходом для записи обобщенных методов является использование параметризованных типов данных.

Для десериализации JSON-ответа с сайта в экземпляр класса Answer можно использовать библиотеку для работы с JSON, такую как Gson, Jackson или Moshi. В примере ниже приведен код, который использует библиотеку Gson для десериализации:

```java
import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "{\"id\": 1, \"text\": \"Hello, world!\"}";

        Gson gson = new Gson();
        Answer answer = gson.fromJson(json, Answer.class);

        System.out.println(answer.getId());
        System.out.println(answer.getText());
    }
}

class Answer {
    private int id;
    private String text;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}
```

В этом примере мы создаем экземпляр Gson и затем используем его метод `fromJson` для десериализации JSON-строки в экземпляр класса Answer.
Используйте Tree model . Проверяйте поля по имени и стройте ту сущность, которой соответствует поле объекта. А потом уже обобщайте как хотите. Или создавайте свой обобщённый класс (Pojo), проверяйте каждое поле и стройте сразу обобщённый объект, в котором некоторые поля могут быть со значением null . 

См. Как игнорировать неизвестные поля JSON
Похожие вопросы