`
wangzl2222
  • 浏览: 147963 次
  • 性别: 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

分享到:
评论

相关推荐

    XML操作类库XStream.zip

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

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

    NULL 博文链接:https://kingxss.iteye.com/blog/1037741

    XStream XML与Json转换

    在缺省情况下,XStream不需要配置映射关系,对象和字段将映射为同名XML元素。但是当对象和字段名与XML中的元素名不同时,XStream支持指定别名。XStream支持以方法调用的方式,或是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实现java对象和xml、json的相互转换

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

    一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换

    Xstream操作Xml与Json.doc

    本文档主要讲述的是Xstream操作Xml与Json;Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得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。

    xstream将xml文档转换成json对象

    xstream 将xml文档转换成 java对象,然后就可以利用json库转成json对象啦。

    转载 xStream完美转换XML、JSON

    NULL 博文链接:https://xiyang1106.iteye.com/blog/2149652

    Java用xStream拼接xml

    webService接口对接时,需要传递一个xml内容。用xStream拼接xml

    xstream实例.rar

    利用xstream技术生成和解析XML文件的例子。同时里面包含xstream1.3.1.chm帮助文档,jar包(xstream-1.3.1.jar、jettison-1.0.1.jar、xpp3_min-1.1.4c.jar、junit.4.8.1.jar),还有sstream1.3.1源码。

    xstream实现实体类序列化转xml

    xstream-1.4.2.jar,xpp3_min-1.1.4.jar,xmlpull-1.1.3.1.jar 包括 //XML --&gt; JavaBean, //XML --&gt; JavaBean //JavaBean --&gt; JSON,//JSON--&gt; JavaBean

    struts-2.3.15.3-apps.zip

    JSON-lib (http://json-lib.sourceforge.net/). OGNL (http://www.opensymphony.com/ognl/). Plexus (http://plexus.codehaus.org/). SiteMesh (http://www.opensymphony.com/sitemesh/). XWork ...

    struts-2.1.8.1-src.zip

    JSON-lib (http://json-lib.sourceforge.net/). OGNL (http://www.opensymphony.com/ognl/). Plexus (http://plexus.codehaus.org/). SiteMesh (http://www.opensymphony.com/sitemesh/). XWork ...

    struts2-core-2.3.15.3.jar

    JSON-lib (http://json-lib.sourceforge.net/). OGNL (http://www.opensymphony.com/ognl/). Plexus (http://plexus.codehaus.org/). SiteMesh (http://www.opensymphony.com/sitemesh/). XWork ...

    struts-2.5.13-docs

    JSON-lib (http://json-lib.sourceforge.net/). OGNL (http://www.opensymphony.com/ognl/). Plexus (http://plexus.codehaus.org/). SiteMesh (http://www.opensymphony.com/sitemesh/). XWork ...

    JavaBean-xml-Json转换

    XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar

    XStream组件进行Object与XML互转用法

    XStream组件进行Object与XML互转用法 1.所需求jar包: xstream-1.3.1.jar 2.如果仅进行OBJECT与XML之间互转只需要这一个jar 包及XStream这一个类就可又了 用法说明: 1.OBJECT 转XML //第一步:准备好要进行XML...

Global site tag (gtag.js) - Google Analytics