Обычно проще всего моделировать классы Java DTO, содержащие данные.
Итак, в вашем JSON есть объект - скажем, обертка - который содержит другой объект с меткой PATIENT
. И поскольку поля, которые PATIENT
имеет произвольные имена, И также кажется, что данные, содержащиеся в каждом поле, на самом деле Пациент , таким образом, можно предположить, что PATIENT
- это Map
с такими произвольными именами полей как ключи и экземпляры Patienta в качестве значений каждой записи.
Так что Обертка будет выглядеть так:
@Getter
public class Wrapper {
// We want the correct notation & plural, of course
@SerializedName("PATIENT")
private Map<String, Patient> patients;
}
Пациент тогда будет выглядеть так:
@Getter
public class Patient {
private String name;
private Integer age;
}
Тогда десериализация и использование будут выглядеть примерно так:
Wrapper w = gson.fromJson(new FileReader("c:\\file.json"), Wrapper.class );
w.getPatients().keySet().... // or however it is most comfortable