【问题标题】:Gson - Conditional JSON Deserialization (Sanity Checks)Gson - 条件 JSON 反序列化(健全性检查)
【发布时间】:2011-05-15 17:04:06
【问题描述】:

我的 android 项目中有代码可以使用 gson 将 json 正确反序列化为 POJO。我希望向传入的 json 添加一些条件验收检查(健全性检查)。例如,对于下面的数据结构,我希望 gson 解析器只添加开始日期

JSON 示例

{
  "Items" : [
     {
        "Name" : "Example Name",
        "Start" : "2010-10-16 10:00:00",
        "End" : "2011-03-20 17:00:00",
        <other fields>
    }, 
    <several more items>
  ]
}

ItemList.java

public class ItemList {
    private List<ItemHeader> Items;

    public void setItemHeaders(List<ItemHeader> headers) {
        Items = headers;
    }

    public List<ItemHeader> getItemHeaders() {
        return Items;
    }
}

ItemHeader.java 包含名称、开始、结束和所有其他字段的字段。

【问题讨论】:

    标签: java android json parsing gson


    【解决方案1】:

    您需要编写自己的反序列化程序,并在不满足您的条件时让它抛出异常。

    http://sites.google.com/site/gson/gson-user-guide#TOC-Writing-a-Deserializer

    我不知道您应该这样做,但这是可能的。

    【讨论】:

      猜你喜欢
      • 2012-11-21
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多