XStream - 使用 XStream 编写 JSON
-
简述
XStream 通过使用适当的驱动程序初始化 XStream 对象来支持 JSON。XStream 目前支持 JettisonMappedXmlDriver 和 JsonHierarchicalStreamDriver。现在让我们用 XStream 中的 json 处理来测试代码。在 C:\>XStream_WORKSPACE\com\jc2182\xstream 中创建一个名为 XStreamTester 的 java 类文件。 -
文件:XStreamTester.java
package com.jc2182.xstream; import java.io.Writer; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.annotations.XStreamMooas; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver; import com.thoughtworks.xstream.io.json.JsonWriter; public class XStreamTester { public static void main(String args[]) { XStreamTester tester = new XStreamTester(); XStream xstream = new XStream(new JsonHierarchicalStreamDriver() { public HierarchicalStreamWriter createWriter(Writer writer) { return new JsonWriter(writer, JsonWriter.DROP_ROOT_MODE); } }); Student student = new Student("Mahesh","Parashar"); xstream.setMode(XStream.NO_REFERENCES); xstream.alias("student", Student.class); System.out.println(xstream.toXML(student)); } } @XStreamMooas("student") class Student { private String firstName; private String lastName; public Student(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public String toString() { return "Student [ firstName: "+firstName+", lastName: "+ lastName+ " ]"; } }
-
验证结果
使用编译类 javac 编译器如下 -C:\XStream_WORKSPACE\com\jc2182\xstream>javac XStreamTester.java
现在运行 XStreamTester 以查看结果 -C:\XStream_WORKSPACE\com\jc2182\xstream>java XStreamTester
验证输出如下 -{ "firstName": "Mahesh", "lastName": "Parashar" }