java GWTJacksonAPT不忽略序列化中的接口对象
我有一个class对象,其中包含一个接口变量,用于回调,我不想将其序列化为JSON。我曾尝试使用@JsonIgnoreProperties()注释使其忽略接口变量,但迄今为止没有成功。预处理器被一个错误阻塞。argumentException无法猜测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忽略此接口的最佳方法是什么?还是必须完全重新定义所有对象才能删除回调函数引用
# 1 楼答案
可以通过注释字段来使用
@JsonIgnore
将对象写入JSON时,该字段不会序列化,从JSON读取对象时将忽略该字段。您可以随时检查生成的映射程序,在生成的反序列化程序中会看到一个方法
initIgnoredProperties
,并且生成的序列化程序中不会包含忽略的字段