改造对象内部的 GSON 解析数组列表
Retrofit GSON Parsing Arraylist Inside of Object
我有一个这样的 json 对象:
{
products:[
{
name:Prod1,
quantity:3
},
{
name:Prod2,
quantity:1
}
]
}
我的 gson 对象是这样的:
public class Product{
@SerializedName("name")
public String name;
@SerializedName("quantity")
public int quantity;
}
当我用这样的东西设置改造时
@GET("/products")
void getProducts(Callback<ArrayList<Product>> c);
显然,它会失败,因为该数组不是根对象。有没有一种简单的方法可以强制它在解析 ArrayList 之前深入到 json 一个级别,或者我是否必须创建一个完整的 GSON 适配器来完成这个?
我通过创建和使用我自己的自定义反序列化器实现了这一点。该代码比完整的 Gson 适配器更简单,但可以满足我的需要。
我有一个这样的 json 对象:
{
products:[
{
name:Prod1,
quantity:3
},
{
name:Prod2,
quantity:1
}
]
}
我的 gson 对象是这样的:
public class Product{
@SerializedName("name")
public String name;
@SerializedName("quantity")
public int quantity;
}
当我用这样的东西设置改造时
@GET("/products")
void getProducts(Callback<ArrayList<Product>> c);
显然,它会失败,因为该数组不是根对象。有没有一种简单的方法可以强制它在解析 ArrayList 之前深入到 json 一个级别,或者我是否必须创建一个完整的 GSON 适配器来完成这个?
我通过创建和使用我自己的自定义反序列化器实现了这一点。该代码比完整的 Gson 适配器更简单,但可以满足我的需要。