日期:2014-05-17  浏览次数:20702 次

Gson反序列化
在使用google的Gson类解析json格式的字符串为java bean的时候遇到了一个问题,The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@1dd21dd2 failed to deserialize json object,given the type java.util.List<Order>。java bean的数据格式是这样的:public class Trade{
private String adjustFee;
    private Long alipayId;
private List orders;

public List getOrders()
    {
        return orders;
    }
    public void setOrders(List orders)
    {
        this.orders = orders;
    }

public String getAdjustFee()
    {
        return adjustFee;
    }
    public void setAdjustFee(String adjustFee)
    {
        this.adjustFee = adjustFee;
    }
public Long getAlipayId()
    {
        return alipayId;
    }
    public void setAlipayId(Long alipayId)
    {
        this.alipayId = alipayId;
    }
}
public class Order{
private String adjustFee;
    private String buyerNick;
public String getAdjustFee()
    {
        return adjustFee;
    }
    public void setAdjustFee(String adjustFee)
    {
        this.adjustFee = adjustFee;
    }
    public String getBuyerNick()
    {
        return buyerNick;
    }
    public void setBuyerNick(String buyerNick)
    {
        this.buyerNick = buyerNick;
    }
}
其中Trade类中有个List,里面存放的就是Order,只是没有使用泛型,java bean中的属性没有全部给出,只是跟异常相关的属性(Order),然后调用Gson的方法去将json字符串转化为Trade对象,Trade trade = gson.fromJson(json, Trade.class);然后就抛出了上面提到的异常。也就是这种问题,一个java bean中有Collection类型的属性,怎么利用Gson实现反序列化?求大神指导!
gson 反序列化

------解决方案--------------------
遇到了同样的问题,楼主有解决吗?
------解决方案--------------------