XStream不能将反序列化的字段名别名替换为java

时间:2013-11-29 12:30:55

标签: java xstream

这有什么用呢?我为“name”提供了别名,但它仍然不起作用。我正在使用XStream 1.4.5

  

com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter $ UnknownFieldException:   没有这样的领域B.status

    public class B {
        public String name;
    }

    public static void main(String[] args) {
        XStream serializer = new XStream();
        serializer.alias("a", B.class);
        serializer.aliasField("status", String.class, "name");
        B obj = (B) serializer.fromXML("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><a><status>true</status></a>");
    }

1 个答案:

答案 0 :(得分:1)

aliasField的第二个参数应该是声明字段字段的类型,而不是 字段的类型。

serializer.aliasField("status", B.class, "name");