Ram*_*tra 5 gson deserialization json-deserialization
我有我的json:
{
"status": 200,
"data": [
{
"catId": 638,
"catName": "Helena Bonham Carter",
"catUniqueName": "helena-bonham-carter",
"catSlug": ""
},
{
...
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的分类模型为:
public class Category {
private double catId;
private String catName;
private String catUniqueName;
private String catSlug;
}
Run Code Online (Sandbox Code Playgroud)
我的gson自定义解串器如下:
Type listType = new TypeToken<ArrayList<Category>>(){}.getType();
Gson gson = new GsonBuilder()
.registerTypeAdapter(listType, new CategoryDeserializer())
.create();
private class CategoryDeserializer implements JsonDeserializer {
@Override
public Category deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException {
Gson gson = new Gson();
return gson.fromJson(((JsonObject) json).get("data"), typeOfT);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Retrofit库,它使用gson序列化/反序列化json对象.我通过这个自定义gson反序列化器进行改造,但它给了我一个错误.你能告诉我在去骨化的时候我哪里出错吗?
错误:
java.util.ArrayList cannot be cast to com.compzets.app.models.Category
Run Code Online (Sandbox Code Playgroud)
预期结果:
我想要ArrayList of Category来自json.
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |