使用 Gson 库,如何将 JSON 字符串转换为自定义类的 ArrayList
JsonLog
?基本上, JsonLog
是一个由我的 Android 应用程序制作的不同类型的日志实现的接口——SMS 日志、呼叫日志、数据日志——而这个 ArrayList
是所有的集合他们。我一直在第 6 行收到错误。
public static void log(File destination, JsonLog log) {
Collection<JsonLog> logs = null;
if (destination.exists()) {
Gson gson = new Gson();
BufferedReader br = new BufferedReader(new FileReader(destination));
logs = gson.fromJson(br, ArrayList<JsonLog>.class); // line 6
// logs.add(log);
// serialize "logs" again
}
}
编译器似乎不明白我指的是类型化的 ArrayList
。我该怎么办?
原文由 MLQ 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 TypeToken 将 json 字符串加载到自定义对象中。
文档:
科特林:
如果你需要在 Kotlin 中这样做,你可以这样做:
或者你可以看到 这个答案 的各种选择。