XStream编写JSON - XStream教程

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"
}