鍍金池/ 教程/ Java/ XStream編寫(xiě)JSON
XStream編寫(xiě)JSON
XStream屬性混疊
XStream自定義轉(zhuǎn)換器
XStream注解
XStream包混疊
XStream混疊
XStream教程
XStream類(lèi)混疊
XStream轉(zhuǎn)換器
XStream入門(mén)應(yīng)用程序
XStream環(huán)境設(shè)置
XStream字段混疊
XStream隱式集合混疊

XStream編寫(xiě)JSON

XStream支持JSON通過(guò)初始化XStream對(duì)象適當(dāng)?shù)尿?qū)動(dòng)程序。 XStream目前支持JettisonMappedXmlDriver和JsonHierarchicalStreamDriver。

現(xiàn)在,讓我們使用XStream處理JSON的代碼測(cè)試。

創(chuàng)建一個(gè)Java類(lèi)名為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+ " ]";
	}	
}

驗(yàn)證結(jié)果

使用javac編譯器編譯如下類(lèi):

C:\XStream_WORKSPACE\com\yiibai\xstream>javac XStreamTester.java

現(xiàn)在運(yùn)行XStreamTester看到的結(jié)果:

C:\XStream_WORKSPACE\com\yiibai\xstream>java XStreamTester

驗(yàn)證輸出

{
  "firstName": "Mahesh",
  "lastName": "Parashar"
}