1
我正在用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 2013-03-05 12:38:12