Я пытаюсь проанализировать данные, которые я получаю из пакета уведомлений:
String intervalsData = data.getString(ARG_INTERVAL, "[]");
Type intervalListType = new TypeToken<List<Interval>>() {}.getType();
List<Interval> intervalList = ConnectionUtils.dataFromString(intervalsData, intervalListType);
Вот пример данных:
"[{
\"StartDateTime\": \"0001-01-01T00:00:00\",
\"EndDateTime\": \"0001-01-01T00:00:00\",
\"Interval\": \"100000.0\"
}]"
метод dataFromString:
public static <T> T dataFromString(String json, Type type) {
Gson gson = new GsonBuilder()
.setDateFormat(Common.DateFormatKinds.ServerDateFormat.getValue())
.create();
return gson.fromJson(json, type);
}
Формат даты сервера "yyyy-MM-dd'T'HH:mm:ss"
Интервальный класс:
import java.util.Date;
public class Interval{
public Date StartDateTime;
public Date EndDateTime;
public double Interval;
}
Когда я загружаю приложение из Android Studio на устройство, все работает нормально.
Но когда я генерирую apk и загружаю его с помощью hockeyapp, Gson правильно анализирует массив, но поля в элементе Interval равны нулю.