在将列表转换为 json 时,必须使用TypeToken(如Gson文档中的建议)作为类型,如下所示 -
new Gson().toJson(dateRange, new TypeToken<List<String>>() {}.getType());
Run Code Online (Sandbox Code Playgroud)
对我来说,下面的代码也有效 -
new Gson().toJson(dateRange, List.class);
Run Code Online (Sandbox Code Playgroud)
只是想确保代码不会中断。
小智 3
根据文档 -
如果您要序列化/反序列化的对象是 a
ParameterizedType(即至少包含一个类型参数并且可能是一个数组),那么您必须使用 ortoJson(Object, Type)方法fromJson(String, Type)。以下是序列化和反序列化 a 的示例ParameterizedType:
Type listType = new TypeToken<List<String>>() {}.getType();
List<String> target = new LinkedList<String>();
target.add("blah");
Gson gson = new Gson();
String json = gson.toJson(target, listType);
List<String> target2 = gson.fromJson(json, listType);
Run Code Online (Sandbox Code Playgroud)
这是特殊情况,其他情况可以直接使用类类型。供参考 - http://google.github.io/gson/apidocs/com/google/gson/Gson.html
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |