我有一个从服务器中提取的Json数据.此数据包含多个对象和数组.
第一个模型如下:
{
"results": [
{
"id": "17",
"name": "Accessories",
"child": [
{
"id": "371",
"name": "Belt"
},
{
"id": "55",
"name": "Derp"
},
...
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,有些results数组没有child数组.相反,它有一个空值的String.
{
"results": [
{
"id": "19",
"name": "Stuff",
"child": ""
}
]
}
Run Code Online (Sandbox Code Playgroud)
执行代码时,它返回以下行:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING
Run Code Online (Sandbox Code Playgroud)
这就是模型的样子:
public class CategoryModel {
@SerializedName("id")
private String category_id;
private String name;
private ArrayList<CategoryChildModel> child;
...
}
Run Code Online (Sandbox Code Playgroud)
这就是我实现GsonRequest(使用Volley作为后台asynctask)的方法:
private void loadCategory() {
mRequestQueue = Volley.newRequestQueue(getActivity()); …Run Code Online (Sandbox Code Playgroud)