Ассоциативный массив в PHP переводится как Map
в Java.Итак, в глазах Gson ваш JSON имеет формат Map<String, Event>
, где класс Event
имеет поля status
и time
.
public class Event {
private String Status;
private String Time;
// Add/generate getters, setters and other boilerplate.
}
Да, имена полей с заглавными буквами некрасивы, ноВот как выглядит ваш JSON.В противном случае вам потребуется создать пользовательский десериализатор Gson .
Вот как вы можете его преобразовать.
Map<String, Event> events = new Gson().fromJson(json, new TypeToken<Map<String, Event>>(){}.getType());
A01
, A02
и т. Д. Становятся Map
и его значение становится Event
значением Map
.Возможно, вы захотите добавить другой пользовательский десериализатор, чтобы получить Time
в java.util.Date
.
В качестве другой альтернативы, вы также можете использовать Map<String, Map<String, String>>
вместо.