XStream - 使用 XStream 编写 JSON
XStream 通过使用适当的驱动程序初始化 XStream 对象来支持 JSON。XStream 目前支持 JettisonMappedXmlDriver 和 JsonHierarchicalStreamDriver。
现在让我们用 XStream 中的 json 处理来测试代码。
在 C:\>XStream_WORKSPACE\com\tutorialspoint\xstream 中创建名为 XStreamTester 的 java 类文件。
文件:XStreamTester.java
package com.tutorialspoint.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\tutorialspoint\xstream>javac XStreamTester.java
现在运行 XStreamTester 查看结果 -
C:\XStream_WORKSPACE\com\tutorialspoint\xstream>java XStreamTester
验证输出如下 -
{
   "firstName": "Mahesh",
   "lastName": "Parashar"
}
