我有一个像这样的 JSON 字符串:
{
"response":[2,
{
"id":"187",
"name":"John",
"surname":"Corner"
},
{
"id":"254",
"name":"Bob",
"surname":"Marley"
}
]
}
如何使用 Java 中的 GSON lib 解析它? 我尝试过:
static class SearchRequest {
private Names[] response;
static class Names {
private int id;
private String name;
private String surname;
}
}
但它不起作用:(
最佳答案
response
数组不仅包含Names
,还包含一个整数值:response[0]=2
。
所以你必须使用类似的东西
private Object[] response;
添加:
我认为,您无需更改 JSON,因为您的 response
是私有(private)的,因此您应该使用 getter:
static class SearchRequest {
private Object[] response;
static class Names {
private int id;
private String name;
private String surname;
}
public List<Names> getNames() {
List list = new ArrayList();
list.addAll(Arrays.asList(response));
return (List<Names>) list.subList(1, response.length);
}
public int getAmount() {
return (Integer) response[0];
}
public void setNames(List<Names> names) {
response = new Object[names.size() + 1];
response[0] = names.size();
for (int i = 0, namesSize = names.size(); i < namesSize; i++) {
response[i + 1] = names.get(i);
}
}
}
关于java - 如何从 JSON 字符串中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347741/