XStream支援JSON通過初始化XStream物件適當的驅動程式。 XStream目前支援JettisonMappedXmlDriver和JsonHierarchicalStreamDriver。
現在,讓我們使用XStream處理JSON的程式碼測試。
建立一個Java類名為XStreamTester檔案在 C:\>XStream_WORKSPACE\com\yiibai\xstream.
File: XStreamTester.java
package com.yiibai.xstream; import java.io.Writer; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.annotations.XStreamAlias; 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)); } } @XStreamAlias("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\yiibai\xstream>javac XStreamTester.java
現在執行XStreamTester看到的結果:
C:\XStream_WORKSPACE\com\yiibai\xstream>java XStreamTester
驗證輸出
{ "firstName": "Mahesh", "lastName": "Parashar" }