`
wangzl2222
  • 浏览: 150935 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

XML/JSON的类库,Xstream!

阅读更多

XML/JSON的操作类库,codehaus的xstream,很简单的在xml/json和java对象间转换。

1、所需jar包:xstream-[version].jarxpp3-[version].jar 。xpp3不是必须的,也可以用标准的JAXP DOM parser 来代替,如:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->XStream xstream = new XStream(new DomDriver()); // does not require XPP3 library


另外,通过alias可实现xml属性的支持。更多功能,请参阅 Tutorial

2、XML转换代码片段:
Class 转换为 xml 的代码片段:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->XStream xstream = new XStream();
xstream.alias("person", Person.class);

xstream.alias("phonenumber", PhoneNumber.class);
Person joe = new Person("Joe""Walnes");
joe.setPhone(
new PhoneNumber(123"1234-456"));
joe.setFax(
new PhoneNumber(123"9999-999"));
String xml 
= xstream.toXML(joe);


The resulting XML looks like this:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><person>
  
<firstname>Joe</firstname>
  
<lastname>Walnes</lastname>
  
<phone>
    
<code>123</code>
    
<number>1234-456</number>
  
</phone>
  
<fax>
    
<code>123</code>
    
<number>9999-999</number>
  
</fax>
</person>


xml转换为java类的代码片段:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->Person newJoe = (Person)xstream.fromXML(xml);


3、JSON

另需jar包:jettison.jar 、stax-api.jar。JSON Turorial

Write to json:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->package org.sensatic.json.test;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;

public class WriteTest {
    
public static void main(String[] args) {
        Product product 
= new Product("Banana""123"23.00);
        XStream xstream 
= new XStream(new JettisonMappedXmlDriver());
        xstream.alias(
"product", Product.class);
        System.out.println(xstream.toXML(product));    
    }
}


Read from json:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->package org.sensatic.json.test;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;

public class ReadTest {
    
public static void main(String[] args) {
        String json 
= "{\"product\":{\"name\":\"Banana\",\"id\":\"123\""
            
+ ",\"price\":\"23.0\"}}";
            
        XStream xstream 
= new XStream(new JettisonMappedXmlDriver());
        xstream.alias(
"product", Product.class);
        Product product 
= (Product)xstream.fromXML(json);
        System.out.println(product.getName());
    }
}


And that's how simple XStream is!

from:http://www.blogjava.net/josson/archive/2008/01/15/175381.html

分享到:
评论

相关推荐

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

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

    XML操作类库XStream.zip

    XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。因此XML常用于数据交换、对象序列化(这种序列化和Java对象的序列化技术有着本质的区别)。Xstream...

    XStream XML与Json转换

    在缺省情况下,XStream不需要配置映射关系,对象和字段将映射为同名XML元素。但是当对象和字段名与XML中的元素名不同时,XStream支持指定别名。XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 ...

    xstream将xml文档转换成json对象

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

    xStream转换xml和json源码

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

    转载 xStream完美转换XML、JSON

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

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

    XStream不仅支持XML,还内置了对JSON的支持。只需添加额外的转换器,如使用Jettison库,即可实现JavaBean与JSON的转换。 5. **实战演示** 在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何...

    xStream完美转换XML、JSON

    xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项

    json,xstream,ezmorph jar包

    //json的转换器及帮助 ezmorph-1.0.6.jar ezmorph-1.0.6-javadoc.jar //java将数据类型转为json格式及帮助 json-lib-2.2.3-jdk15.jar json-lib-2.2.3-jdk15-javadoc.jar commons-collections-3.2.jar commons-lang-...

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

    首先,xStream的核心概念是通过类型转换器(Converter)来实现Java对象到XML/JSON的映射。它提供了一种直观的方式来定义对象如何被序列化,只需简单的注解或者配置即可。例如,通过`@XStreamAlias`注解,我们可以...

    xml & json 转换工具

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

    Xstream操作Xml与Json.doc

    **Xstream 操作 Xml 与 Json** Xstream 是一个 Java 库,用于处理 XML 文件的序列化和反序列化,同时也支持将 JavaBean 转换为 JSON 格式。它的核心理念是通过简单的 API 设计,使得 XML 序列化过程变得简洁,无需...

    XStream示例(含jar包)

    这个示例可能包含了一个或多个演示如何使用 XStream 进行对象和 XML/JSON 之间转换的 Java 应用程序。这些示例可能包括创建对象、序列化为 XML/JSON、然后反序列化回对象的完整流程。通过运行提供的 jar 包,你可以...

    xml 与json转换代码

    在Java中,可以使用各种库来实现XML到JSON的转换,其中XStream是一个流行的库,它提供了强大的XML序列化和反序列化功能。XStream虽然主要设计用来XML操作,但也可以通过添加额外的转换器来处理JSON。首先,你需要...

    Java用xStream拼接xml

    Java中的xStream库提供了一个简单易用的方式来将Java对象序列化为XML,反之亦然,即反序列化XML回Java对象。 **xStream简介** xStream是一个开源的Java库,由Johannes Link创建。它提供了简洁、直观的API来处理XML...

    03-Java核心类库_XML与JSON(配套工具)

    03-Java核心类库_XML与JSON(配套工具)。包含fastjson-1.2.70.jar、gson-2.8.6.jar、dom4j-1.6.1.jar、jaxen-1.1-beta-7.jar、xstream-1.3.1.jar。

    json XStream

    通过结合XStream和Jettison,开发者可以在Java应用中实现XML和JSON的无缝转换。 首先,我们需要在项目中引入XStream和Jettison的依赖。在本例中,我们有`xstream-1.3.1.jar`和`jettison-1.0.1.jar`。这两个JAR文件...

    XStream解析XML实例

    **XStream解析XML实例** 在Java开发中,处理XML数据是一项常见的任务,XStream库提供了一个简单而强大的方式来将Java对象序列化为XML,以及从XML反序列化回Java对象。这个实例将深入探讨如何使用XStream进行XML操作...

    Xstream 类与Json之间转换

    Xstream和Json是两种广泛使用的工具,分别用于Java对象到XML和JSON格式的转换。本文将深入探讨Xstream库如何与Json进行交互,以及在实际应用中的使用。 Xstream是一个Java库,它提供了简单、高效的方式来序列化和反...

Global site tag (gtag.js) - Google Analytics