XStream在类与JSON对象之间转换

来源:互联网 发布:淘宝禁售商品纠纷 编辑:程序博客网 时间:2024/06/11 06:20

需要相关JAR包,xstream-1.3.1.jar jettison-1.0.1.jar


一个JavaBean类Student

Student 

package com.yin;public class Student {private int id;private String name;private String address;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String toString() {return "Student [id=" + id + ", name=" + name + ", address=" + address+ "]";}}


类转换为JSON对象代码:

JSON转换成类对象
<pre name="code" class="java">package com.yin;import com.thoughtworks.xstream.XStream;import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;public class OtoJson {private static Student stu;private static void init(){stu = new Student();stu.setId(2014);stu.setName("张三");stu.setAddress("北京");}private static String OtoJ(Student stu){XStream xstream = new XStream(new JsonHierarchicalStreamDriver());xstream.setMode(XStream.NO_REFERENCES);xstream.alias("student", Student.class);return xstream.toXML(stu);}private static Student JtoO(String jsonStu){XStream xstream = new XStream(new JettisonMappedXmlDriver());xstream.alias("student", Student.class);return (Student)xstream.fromXML(jsonStu);}public static void main(String[] args){init();System.out.println("-------Object-->Json----------");String stuJson = OtoJ(stu);System.out.println(stuJson);System.out.println("-------Jso--->Object----------");System.out.println(JtoO(stuJson).toString());}}
输出结果:<pre name="code" class="java">-------Object-->Json----------{"student": {  "id": 2014,  "name": "张三",  "address": "北京"}}-------Jso--->Object----------Student [id=2014, name=张三, address=北京]



0 0
原创粉丝点击