【问题标题】:How to ignore a type with XStream?如何使用 XStream 忽略类型?
【发布时间】:2008-11-30 12:46:15
【问题描述】:

使用XStream,如何忽略已定义类型的序列化(例如,在序列化 GUI 时,我想忽略所有摆动类型)?

或者如果我想忽略所有 javax.* 类型?

提前致谢,
伯克哈德

【问题讨论】:

    标签: java serialization xstream


    【解决方案1】:

    您需要为要忽略的类型编写自定义转换器。

    例如,如果您想忽略 JLabels:

    public class MyJLabelConverter implements Converter {
    
        @Override
        public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
        }
    
        @Override
        public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
            return null;
        }
    
        @Override
        public boolean canConvert(Class clazz) {
            return clazz.equals(JLabel.class);
        }
    }
    

    并通过以下方式注册:

    xstream.registerConverter(new MyJLabelConverter());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多