【问题标题】:Xstream List - Duplicate fieldXstream 列表 - 重复字段
【发布时间】:2012-01-11 10:03:34
【问题描述】:

我对 XStream 有疑问。我有一个名为 simplePerson 的 java 类,如下所示:

public class SimplePerson {

@XStreamAlias("name")
private String name;


private List<String> cars;

我正在使用它将它转换为 json 使用:

XStream xstream = new XStream(new JettisonMappedXmlDriver(){
        public HierarchicalStreamWriter createWriter(Writer writer) {
            return new JsonWriter(writer);
        }
    });

xstream.setMode(XStream.NO_REFERENCES);

xstream.toXML(person)

使用它,我得到以下 json: {“简单的人”: { “名字”:“乔”, “汽车”:[“捷豹”,“宝马”] }}

当我使用相同的 json 将其转换回使用 xstream.fromXML(json) 的对象时,我得到以下异常:

线程“主”com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$DuplicateFieldException 中的异常:重复的字段汽车

我不知道是什么问题。我正在使用与 Xstream 提供的完全相同的 json 作为输出。 任何帮助将不胜感激。

【问题讨论】:

    标签: java json xstream


    【解决方案1】:

    我猜你需要添加隐式集合。喜欢。

    xstream.addImplicitCollection(SimplePerson.class, "cars");
    

    【讨论】:

    • 仅供参考,我遇到了完全相同的问题,这个解决方案对我有用。
    • edit:再更新一次,对于 Xstream 1.2.2 我必须这样做:xstream.addImplicitCollection(SimplePerson.class, "cars", String.class);
    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 2017-01-08
    • 2021-01-03
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多