【问题标题】:GWT-Jackson-APT not ignoring interface object from serializationGWT-Jackson-APT 没有从序列化中忽略接口对象
【发布时间】:2019-02-13 00:04:27
【问题描述】:

我有一个类对象,其中包含一个接口变量,用于我不想序列化为 JSON 的回调。我试图使用 @JsonIgnoreProperties() 注释让它忽略接口变量,但到目前为止还没有运气。预处理器因 IllegalArgumentException 无法猜测 CallbackRun...

而窒息

界面大致如下:

public interface callbackRun {
    void runOnFinish();
}

我的班级的粗笔画形状定义为:

@JSONMapper
@JsonIgnoreProperties(ignoreUnknown=true)
public class itemInventory {

    public static itemInventory_MapperImpl MAPPER = new itemInventory_MapperImpl();

    private static final List<item> itemList = new ArrayList<>();
    private callbackRun responseHandler = null;

    / * other variables, getters setters here */

}

让 GWT-jackson-APT 忽略此接口的最佳方法是什么?或者我是否必须完全重新定义我的所有对象才能删除我的回调函数引用?

【问题讨论】:

    标签: java gwt gwt-jackson-apt


    【解决方案1】:

    您可以通过注释字段来使用@JsonIgnore

    @JSONMapper
    public class itemInventory {
    
        public static itemInventory_MapperImpl MAPPER = new itemInventory_MapperImpl();
    
        private static final List<item> itemList = new ArrayList<>();
        @JsonIgnore
        private callbackRun responseHandler = null;
    
        / * other variables, getters setters here */
    
    }
    

    将对象写入 JSON 时不会序列化该字段,从 JSON 读取对象时将忽略该字段。你可以随时检查生成的映射器,你会在生成的反序列化器中看到一个方法initIgnoredProperties,而且被忽略的字段也不会包含在生成的序列化器中。

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 2019-10-22
      • 2019-06-10
      • 2023-04-11
      • 2015-07-11
      • 2012-02-01
      • 2013-04-11
      • 2018-03-03
      • 1970-01-01
      相关资源
      最近更新 更多