Xstream列表 - 重复字段

Bla*_*gle 3 java json xstream

我有XStream的问题.我有一个名为simplePerson的java类,如下所示:

public class SimplePerson {

@XStreamAlias("name")
private String name;


private List<String> cars;
Run Code Online (Sandbox Code Playgroud)

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

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

xstream.setMode(XStream.NO_REFERENCES);

xstream.toXML(person)
Run Code Online (Sandbox Code Playgroud)

使用它我得到以下json:{"simpleperson":{"name":"joe","cars":["Jag","BMW"]}}

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

线程"main"中的异常com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter $ DuplicateFieldException:Duplicate field cars

我无法弄清楚问题是什么.我使用与Xstream相同的json作为输出.任何帮助将不胜感激.

Mad*_*ady 5

我想你需要添加Implicit集合.喜欢.

xstream.addImplicitCollection(SimplePerson.class, "cars");
Run Code Online (Sandbox Code Playgroud)

  • 编辑:还有一个更新,对于Xstream 1.2.2我必须这样做:xstream.addImplicitCollection(SimplePerson.class,"cars",String.class); (2认同)