我正在尝试像这样从JsonObject获取数据:
{
"status": "ok",
"data_EN": [
{
"id": 1,
"url" :"http://exemple.com"
}
],
"data_FR": [...],
"data_ES": [...]
}
我创建了一种获取此响应的方法,我只能使用
JSONArray
获取一个数组,但是我找不到从该数组获取所有数据的方法 ItemGroup itemGroup = new ItemGroup();
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("data_EN");
itemGroup.setTitle("data_EN");
List<Data> items = new Gson().fromJson(jsonArray.toString(), new TypeToken<List<Data>>() {
}.getType());
itemGroup.setData(items);
itemGroups.add(itemGroup);
谢谢你的帮助。
最佳答案
尝试创建模型:
ItemResponse.class
public class ItemResponse {
private String status;
private List<Item> data_EN;
private List<Item> data_FR;
private List<Item> data_ES;
}
Item.class
public class Item {
private long id;
private String url;
}
因此,您可以通过以下方式获取它:
ItemResponse itemResponse = new Gson().fromJson(jsonObject.toString(), ItemResponse.class);