Java 如何使用GSON解析并放入对象列表中?

Java 如何使用GSON解析并放入对象列表中?,java,gson,Java,Gson,我有一个域对象Foo,我想解析一些JSON,比如 [ {"prop": "val"}, {"prop": "val2"}, ] 我想得到一个列表。像这样的 List<Foo> foos = new Gson().fromJson(json, /*what goes here ?*/); List foos=new Gson(); 您需要使用TypeToken来正确表示类型类是不够的 T

我有一个域对象Foo,我想解析一些JSON,比如

[
    {"prop": "val"},
    {"prop": "val2"},
]
我想得到一个
列表
。像这样的

List<Foo> foos = new Gson().fromJson(json, /*what goes here ?*/);
List foos=new Gson();

您需要使用
TypeToken
来正确表示类型<在这种情况下,由于与泛型类型的交互,代码>类是不够的

Type listType = new TypeToken<List<Foo>>(){}.getType();
List<Foo> projects = (List<Foo>) gson.fromJson(response, listType);
Type listType=new-TypeToken(){}.getType();
List projects=(List)gson.fromJson(response,listType);

如果项目包含私有字段,而我有getter和setter方法,该怎么办。它还能用吗?gson会自动寻找方法吗?您所描述的正是您应该如何构建域类,gson会从这一点开始处理所有事情(getter和setter)。我在这段代码中遇到了一系列错误。。我不能导入正确的库。要我“创建方法getType()”。现在它消失了,它与类型有关确保您使用的是最新的jar文件并检查API是的,我有最新的jar。我认为这个错误与类型有关。Eclipse根本无法识别您是否仍在使用JDK1.4?从JDK1.5开始,我甚至不记得我安装了什么,但肯定是在上个月。编译器说1.6我使用了import java.lang.reflect.Type;这就解决了这个问题。现在,第二行给出了一个错误,说我需要添加SuppressWarnings,它不做任何事情。这不是一个错误,只是一个警告,忽略它。