我遇到了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: {“简单的人”: { “名字”:“乔”, “汽车”:[“Jag”,“BMW”]}}
当我使用相同的json使用xstream.fromXML(json)将其转换回对象时,我得到以下异常:
线程“main”中的异常com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter $ DuplicateFieldException:重复的字段汽车
我无法弄清楚问题是什么。我使用与Xstream相同的json作为输出。 任何帮助将不胜感激。
答案 0 :(得分:5)
我猜你需要添加Implicit集合。等。
xstream.addImplicitCollection(SimplePerson.class, "cars");