`

XStream 轻松搞定JAVA对象与XML/JSON之间相互转换

    博客分类:
  • java
阅读更多
   上一遍已对xstream进行了初步认识,此处就不再多作介绍,直入主题,以下主要主要为,JavaBean --> XML / JSON 、XML / JSON --> JavaBean之间相互转换:

   一| 先写实体类:
   

   Address.java
  
  
   public class Address {
	private String oldAddress;
	private String newAddress;
	
	public String getOldAddress() {
		return oldAddress;
	}
	public void setOldAddress(String oldAddress) {
		this.oldAddress = oldAddress;
	}
	public String getNewAddress() {
		return newAddress;
	}
	public void setNewAddress(String newAddress) {
		this.newAddress = newAddress;
	}
}
   

Person.java

  
      public class Person {
	private String name;
	private String sex;
	private int age;
	private Address address;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
}
   


Test.java 
 
import java.io.PrintWriter;

import vo.Address;
import vo.Person;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
import com.thoughtworks.xstream.io.xml.DomDriver;

/**
 *@class Description:
 *@author like
 *@version create on May 19, 2011 
 */
public class Test {
	public static void main(String[] args) {
                  //JavaBean --> XML
		Address address=new Address();
		Person person=new Person();
		address.setOldAddress("湖南长沙");
		address.setNewAddress("广州白云");
		person.setName("理科");
		person.setSex("男");
		person.setAge(22);
		person.setAddress(address);
		XStream xstream = new XStream(new DomDriver());
		xstream.alias("person", Person.class);
		xstream.alias("address", Address.class);
		xstream.toXML(person,new PrintWriter(System.out));
		
                  //XML --> JavaBean
		String strxml="<person><name>理科</name><sex>男</sex><age>19</age><address><oldAddress>湖南长沙</oldAddress><newAddress>广州白云</newAddress></address></person>";
		XStream xstream2 = new XStream(new DomDriver());
		xstream2.alias("person", Person.class);
		xstream2.alias("address", Address.class);
		Person person2=(Person) xstream2.fromXML(strxml);
		System.out.println(person2.getName());
		System.out.println(person2.getSex());
		System.out.println(person2.getAddress().getOldAddress());
		System.out.println(person2.getAddress().getNewAddress());
		
                   //JavaBean --> JSON
		Address address3=new Address();
		Person person3=new Person();
		address3.setOldAddress("湖南长沙");
		address3.setNewAddress("广州白云");
		person3.setName("理科");
		person3.setSex("男");
		person3.setAge(22);
		person3.setAddress(address3);
                  //new JsonHierarchicalStreamDriver()
		XStream xstream3 = new XStream(new JsonHierarchicalStreamDriver());
		xstream3.alias("person", Person.class);
		xstream3.alias("address", Address.class);
		//new PrintWriter(System.out) 输出去控制台
		xstream3.toXML(person3,new PrintWriter(System.out)); 

		//JSON--> JavaBean
		String jsonstr="{\"person\": {\"name\": \"理科\",\"sex\": \"男\",\"age\": \"19\",\"address\": {\"oldAddress\": \"湖南长沙\",\"newAddress\": \"广州白云\"}}}";
                 //new JettisonMappedXmlDriver()
		XStream xstream4 = new XStream(new JettisonMappedXmlDriver());
		xstream4.alias("person", Person.class);
		xstream4.alias("address", Address.class);
		Person person4=(Person) xstream4.fromXML(jsonstr);
		System.out.println(person4.getName());
		System.out.println(person4.getSex());
		System.out.println(person4.getAddress().getOldAddress());
		System.out.println(person4.getAddress().getNewAddress());
	}
}


注:

1)、使用xStream.alias(String elementName, Class cls)为任何一个自定义类创建到类到元素的别名,如果不使用别名,则生成的标签名为类全名;
2)、使用xStream.toXML(Object obj)转换对象到XML;
3)、使用xStream.fromXML(String xml)转换XML到对象;



   
分享到:
评论

相关推荐

    XStream在JavaBean与XML/JSON 之间相互转换

    **XStream:JavaBean与XML/JSON之间的转换大师** XStream是一个开源库,它为Java对象提供了简单且直观的XML序列化和反序列化的解决方案。它不仅能够将Java对象转换成XML,反之亦然,还能支持JSON格式的转换。这个...

    xStream转换xml和json源码

    本篇文章将深入探讨xStream如何实现Java对象与XML和JSON的相互转换,并提供详细的代码示例。 ### 1. xStream的安装与引入 首先,你需要在项目中添加xStream的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...

    好用的xStream XML和JAVA对象互相转换的简单示例

    XStream是一个轻量级、高性能的库,能够将Java对象序列化为XML,同时也能将XML反序列化回Java对象,实现XML和Java对象的互相转换。 首先,我们需要引入XStream库。在给定的描述中提到了两个依赖文件:xstream-1.3.1...

    XStream在Java对象和XML之间相互转换

    XStream是一款强大的Java库,主要用于将Java对象序列...在实际开发中,XStream的简单性和灵活性使其成为处理Java对象与XML数据之间转换的首选工具。通过合理配置和使用,可以极大地提高开发效率并简化数据处理流程。

    xstream将xml文档转换成json对象

    在这个场景中,我们将探讨如何使用XStream将XML文档转换成Java对象,进而转化为JSON对象。 首先,我们需要引入XStream库。XStream的核心功能是能够将Java对象和XML之间的映射自动化,极大地简化了序列化和反序列化...

    Xstream_java对象和xml的互相转换

    XStream 是一个强大的 Java 库,它允许程序员轻松地将 Java 对象序列化为 XML,同时也能从 XML 数据中反序列化回原来的 Java 对象。这个功能在数据持久化、网络传输或者配置文件存储等方面非常有用。XStream 的设计...

    xstream轻松解析xml到java对象

    这使得开发者无需编写大量繁琐的代码就能完成XML与Java对象之间的转换。下面我们将深入探讨Xstream的核心概念和使用方法。 1. **安装与引入** 首先,你需要将XStream库引入到你的项目中。如果你使用的是Maven,...

    转载 xStream完美转换XML、JSON

    标题 "xStream完美转换XML、JSON" 指的是使用xStream库在Java中进行XML与JSON数据格式之间的转换。xStream是一个强大的库,它提供了一种简单的方式来序列化和反序列化Java对象到XML,反之亦然。在这个场景中,它同样...

    XStream XML与Json转换

    但是当对象和字段名与XML中的元素名不同时,XStream支持指定别名。XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 XStream在进行数据类型转换时,使用系统缺省的类型转换器。同时,也支持用户自定义...

    Xstream 类与Json之间转换

    在我们的示例"Xstream 类与Json之间转换"中,我们可能会看到如何利用Xstream将Java对象转换成JSON格式,这对于Web服务或前后端通信非常有用。 首先,我们需要引入Xstream库和一个支持JSON转换的模块,如json-simple...

    xStream 实现xml与 java对象的转换

    【标题】:“xStream 实现xml与 java对象的转换” 在Java开发中,XML作为一种常见的数据交换格式,常用于存储和传输数据。然而,XML与Java对象之间的转换并不总是直观和简便的。这时,xStream库应运而生,它提供了...

    xml & json 转换工具

    在XML到JSON转换过程中,XStream可能首先用于将XML数据转换为Java对象,然后这些对象再由Json-lib处理成JSON格式。 XML到JSON的转换通常包括以下步骤: - 解析XML文档,将其转换为DOM(Document Object Model)树。...

    XML、JAVA、JSON多种方式互相转换

    - 使用JsonXML Java库:这个库专门用于JSON到XML的转换,提供了简单易用的API。 - Google的Gson库可以通过第三方扩展如`com.thoughtworks.xstream:xstream`实现JSON到XML的转换。 3. Java对象到XML和JSON: - ...

    Java用xStream拼接xml

    xStream简化了Java对象与XML之间的转换,使得在处理XML数据时,开发者无需关注底层的XML构造细节。在Web Service接口对接时,如果需要传递XML内容,使用xStream可以高效、便捷地完成XML的拼接。通过合理配置和使用,...

    xml解析及使用XStream实现javaBean与xml之间的转换

    在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    总的来说,XStream是Java开发中处理XML序列化和反序列化的强大工具,其简单易用的API使得XML与Java对象之间的转换变得轻松而高效。通过熟练掌握XStream的使用,开发者可以更好地在Java应用中利用XML进行数据交换和...

    《xStream完美转换XML、JSON》学习笔记

    总之,xStream是一个强大且易用的工具,它简化了Java对象与XML、JSON之间的转换过程。熟练掌握xStream的使用,不仅可以提高开发效率,还能增强项目的数据交换能力。通过深入学习和实践,你将能够在各种场景下灵活...

    XStream测试Demo-xml与java对象的相互转换

    这个"XStream测试Demo-xml与java对象的相互转换"是一个实例,展示了如何利用XStream进行这两种操作。在本文中,我们将深入探讨XStream的工作原理、使用方法以及其在实际开发中的应用。 首先,XStream的核心功能是...

    xstream对象与xml转换

    总之,XStream是一个强大的工具,可以帮助开发者轻松地在Java对象和XML之间进行转换。其简洁的API和自动类型转换能力使得它在处理序列化和反序列化任务时非常高效。无论你是新手还是经验丰富的开发者,了解并掌握...

Global site tag (gtag.js) - Google Analytics