Gson を使用して JSON をオブジェクトに逆シリアル化しているときに、次の例外があります。
com.google.gson.JsonParseException: JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@588722d6 は json オブジェクトのデシリアライズに失敗しました [{"time":1378911600000,"total":0},{"time":1378912500000,"total ":0},{"time":1378913400000,"total":2,"sum":130000,"avgLen":65000.0}] タイプが com.google.gson.ParameterizedTypeImpl@490ca2fa の場合
JSON を表すクラスは次のとおりです。
public class Api{
private List<ApiData> avgEngLength;
public Api() {
}
}
public class ApiData{
private Long time;
private Long total;
private Long sum;
private Double avgLen;
public ApiData(Long time, Long total, Long sum, Double avgLen) {
this.time = time;
this.total= total;
this.sum= sum;
this.avgLen= avgLen;
}
}
逆シリアル化されたコードは次のとおりです。
String json = "{\"avgEngLength\":[{\"time\":1378905300000,\"total\":0},{\"time\":1378906200000,\"total\":2,\"sum\":130000,\"avgLen\":65000.0}]}";
Gson gson = new GsonBuilder().create();
return gson.fromJson(json, Api.class);
奇妙なことは、一部のマシンでは機能し、他のマシンでは機能しないことです。何か案が?