[英]Gson get list of objects from json
我有一個包含對象數組(過濾器數組)的json字符串。 json字符串也具有其他對象和字段,但是我只對解析json數組感興趣。 誰能告訴我如何使用Gson做到這一點?
這是我的json文件:
{
name: "test json",
test_ob: {
name: "test"
}
filters[
{
test: 1,
test: 2,
...
}
...
]
}
和我的代碼:
Filters filters = new Gson().fromJson(JSONcontent.toString(), Filters.class);
和我的過濾器類:
public class Filters {
private List<Filter> filters;
public List<Filter> getFilters() {
return filters;
}
public void setFilters(List<Filter> filters) {
this.filters = filters;
}
}
您的json有效嗎? 嘗試這個:
data.json:
{
name: "test json",
test_ob: {
name: "test"
},
filters: [
{
name: filter1,
value: 1
},
{
name: filter2,
value: 2
}
]
}
Filter.java:
public class Filter {
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
Data.java:
public class Data {
private List<Filter> filters;
public List<Filter> getFilters() {
return filters;
}
public void setFilters(List<Filter> filters) {
this.filters = filters;
}
}
Test.java:
public static void main(String[] args) {
Gson gson = new Gson();
Object obj;
try {
JsonParser parser = new JsonParser();
obj = parser.parse(new FileReader("C:\\data.json"));
JsonObject jsonObject = (JsonObject) obj;
Data data = gson.fromJson(jsonObject, Data.class);
} catch (JsonIOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonSyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.