Учитывая следующие Json сниппет:Пользовательские Gson десериализации для примитивных массивов
String json = "{ \"test\" : [1, 2.5, 4, 5.66] }";
и призыв к GSON:
Map obj = gson.fromJson(array, Map.class);
я правильно разобранную объект Java, который является LinkedHashMap содержащий ArrayList из парный. Для целей моей программы я хотел бы, чтобы результат содержал примитивные версии массивов и чисел. Поэтому я предпочел бы получить карту, содержащую double[]
, а не ArrayList<Double>
.
Я посмотрел в пользовательские десериализации через интерфейс JsonDeserializer<?>
, но не успешно реализовали его таким образом, чтобы ArrayLists
стать []
«s и Doubles
становится doubles
.
Что я должен понимать, чтобы сообщить GSON о выборе Array против ArrayList и двойном сопротивлении Double при анализе произвольного JSON?