我第一次使用 GSON,当我调用 httpGet 请求时,它返回一个 Json 对象字符串结果,如下所示:
{"ContentEncoding":null,"ContentType":null,"Data":[{"Id":3,"Name":"Alabama"},
{"Id":4,"Name":"Alaska"},{"Id":5,"Name":"Arizona"},{"Id":6,"Name":"Arkansas"}]}
我想要的只是 Data 对象,所以我的 CustomModel 类是这样的:
public class CustomModel {
@SerializedName("Id")
private int Id;
@SerializedName("Name")
private string Name;
public int getId() {
return this.Id;
}
public void setId(int id) {
this.Id = id;
}
public string getName() {
return this.Name;
}
public void setName(string Name) {
this.Name = Name;
}
}
使用 GSON 我尝试像这样解析它:
JsonArray Jarray = (JsonArray) parser.parse(results).getAsJsonObject().get("Data");
for(JsonElement obj : Jarray )
{
CustomModel cse = gson.fromJson(obj , CustomModel.class);
// list.add(cse); //add the values to global List object
}
但这会在 for 循环 "Expected Begin_Object but was string" 内引发错误。我一直试图通过谷歌搜索来解决这个问题,但没有答案有帮助