XStream支持JSON通过初始化XStream对象适当的驱动程序。 XStream目前支持JettisonMappedXmlDriver和JsonHierarchicalStreamDriver。
package com.xstream.demo1;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
import com.thoughtworks.xstream.io.json.JsonWriter;
import com.xstream.vo1.Address;
import com.xstream.vo1.Addresses;
public class XstreamJsonDemo {
public static void main(String args[]){
XstreamJsonDemo tester = new XstreamJsonDemo();
XStream xstream = new XStream(new JsonHierarchicalStreamDriver() {
public HierarchicalStreamWriter createWriter(Writer writer) {
return new JsonWriter(writer, JsonWriter.DROP_ROOT_MODE);
}
});
List<Address> list = new ArrayList<Address>();
Address address1 = new Address("t1", "p1");
Address address2 = new Address("t2", "p2");
list.add(address1);
list.add(address2);
Addresses addresses = new Addresses(list);
xstream.setMode(XStream.NO_REFERENCES);
xstream.alias("addresses", Addresses.class);
System.out.println(xstream.toXML(addresses));
}
}