改进GSON解析对象内部的Arraylist

时间:2015-07-22 16:48:40

标签: java json gson retrofit

我有一个像这样的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适配器来实现它?

1 个答案:

答案 0 :(得分:0)

我通过创建和使用自己的自定义反序列化器来实现这一目标。代码比完整的Gson适配器简单,但完成了我需要的东西。

https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/JsonDeserializer.html