Gson,解析Json Array没有包装器

时间:2016-10-16 11:28:04

标签: android json gson

我有这样的回应:

[{ "age" : "12",
    "name" : "name1"

  },
  { "age" : "21",
    "name" : "name2"

  }]

如何使用Gson解析此响应

ArrayList<PersonModel> persons = gson.fromJson(response, PersonModel.class);

这对我无效

3 个答案:

答案 0 :(得分:2)

由于您正在尝试将JSON数组转换为PersonModel的ArrayList(我假设您已经知道如何编写PersonModel.class),您应该使用TypeToken进行转换对ArrayList的JSON响应。

ArrayList<PersonModel> persons = gson.fromJson(response, new TypeToken<List<PersonModel>>(){}.getType());

答案 1 :(得分:0)

最简单的解析方法是使用PersonModel []代替。首先制作一个这样的模型类:

public class MyModel {

public PersonModel[] persons;

} 

然后像下面这样使用它:

MyModel obj = gson.fromJson(response, MyModel.class)

答案 2 :(得分:0)

此解决方案正在运行。我刚刚测试过。

ArrayList persons = gson.fromJson(response,new TypeToken&gt;(){}。getType());

以下解决方案不起作用。

最简单的解析方法是使用PersonModel []代替。首先制作一个这样的模型类:

公共类MyModel {

public PersonModel []个人;

} 然后像下面这样使用它:

MyModel obj = gson.fromJson(response,MyModel.class)