【问题标题】:Deserialize gson Object with nested List<Object>使用嵌套 List<Object> 反序列化 gson 对象
【发布时间】:2012-12-19 10:35:37
【问题描述】:
public class ListResult<T> {

    private boolean ok;
    private String message;
    private java.util.List<T> data;
    private Paging paging;
}

当我想反序列化 JSON 给定表单 RESTful 调用时:

Type fooType = new TypeToken<ListResult<T>>() {}.getType();
Gson gson = new Gson();
Object model = gson.fromJson(strResult, fooType);

A get A ListResult 其中数据字段是 StringMap 列表,而不是 ListResult 类中定义的 T 列表

有什么想法吗?

【问题讨论】:

    标签: serialization gson


    【解决方案1】:
    Type fooType = new TypeToken<ListResult<StringMap>>() {}.getType();
    Gson gson = new Gson();
    ListResult<StringMap> model = gson.fromJson(strResult, fooType);
    

    Gson 无法读懂您的想法,也无法自行确定通用类型;)

    https://sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and-Deserializing-Generic-Types

    【讨论】:

      【解决方案2】:

      不要使用列表,使用数组MyObj[] myObjs。不需要使用TypeToken方式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-05
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 2015-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多