Я делаю сериализацию с XStream. Для XML я использую StaxDriver и JSON Я использую JettisonMappedXmlDriver:JettisonMappedXmlDriver и довольно печатать с XStream
if (this.format == ISerializer.Format.JSON){
logger.info("json");
/* note: JsonHierarchicalStreamDriver can read Json only */
this.xstream = new XStream(new JettisonMappedXmlDriver());
}
else if (this.format == ISerializer.Format.XML){
logger.info("xml");
this.xstream = new XStream(new StaxDriver());
}
С помощью XML я довольно печати, с помощью JSON, я никогда не симпатичная печати:
public boolean toStream(Object object, Writer writer){
if(this.usePrettyPrint == true){
this.xstream.marshal(object, new PrettyPrintWriter(writer));
}else{
this.xstream.toXML(object, writer);
}
return true;
}
И если я оставлю свой код этого Кстати, я буду получать XML вместо JSON, я должен был переписать свой код, этот способ получить JSON, но не очень-напечатал:
public boolean toStream(Object object, Writer writer){
if (this.format == ISerializer.Format.JSON){
this.xstream.toXML(object, writer);
}
else{
if(this.usePrettyPrint == true){
this.xstream.marshal(object, new PrettyPrintWriter(writer));
}else{
this.xstream.toXML(object, writer);
}
}
return true;
}
вы знаете способ получить красивую печать в формате JSON с JettisonMappedXmlD река?
В документации XStream нет информации об этом, они даже показаться, чтобы найти его OK:
http://x-stream.github.io/json-tutorial.html
, но я не могу поверить, что нет никакого способа, чтобы получить довольно печататься JSON с помощью XStream если вы хотел бы иметь возможность сериализации и десериализации (JettisonMappedXmlDriver) ...
Спасибо!
Привет Wolfi, спасибо за ваш ответ , он не работает, и теперь я использую GSON ... – Rafa