📜  XStream-使用XStream编写JSON

📅  最后修改于: 2020-11-10 05:19:31             🧑  作者: Mango


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