- 浏览: 818635 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (363)
- 2010年3月 (3)
- 2010年4月 (3)
- Java (116)
- ExtJs (22)
- EJB3.0 (11)
- JQuery (28)
- SqlServer (5)
- Oracle (17)
- hibernate (21)
- struts2 (14)
- php (10)
- JavaScript (11)
- jbpm (6)
- spring (24)
- lucene (2)
- ibatis (7)
- C# (8)
- mysql (11)
- json (3)
- webservice (3)
- 设计模式 (1)
- jdbc (1)
- servlet (2)
- ice (6)
- 日常软件问题 (2)
- 生活 (2)
- iphone (1)
- rest (3)
- ruby (2)
- linux (13)
- quartz (1)
- poi (1)
- redis (13)
- memcached (4)
- nosql (2)
- tomcat调优 (1)
- 项目管理 (0)
最新评论
-
天使建站:
jquery里和数组相关的操作 附带具体的实例 ...
jquery对象数组 -
Cy0941:
$('#formId').form('submit',...) ...
easyui的form表单提交处理 -
shmily2038:
swifth 写道楼主,,你的命令写错啦,,[root@ser ...
centos直接yum安装nginx -
swifth:
楼主,,你的命令写错啦,,[root@server ~]# y ...
centos直接yum安装nginx -
随遇而安DXX:
...
REST
试了一下Thoughtworks的XStream,以测试驱动和敏捷开发著称的Thoughtworks,
写出的XStream果然很容易使用。
下面举一个用一个小例子说明如何使用:
实体Person,我们希望Person的对象能够和XML/JSON相互转化
Java代码
package edu.jlu.fuliang;
public class Person
{
private String name;
private int age;
private Address address;
private String email;
public Person()
{
}
public Person( String name, int age, Address address, String email )
{
this.name = name;
this.age = age;
this.address = address;
this.email = email;
}
public String getName()
{
return name;
}
public void setName( String name )
{
this.name = name;
}
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;
}
public String getEmail()
{
return email;
}
public void setEmail( String email )
{
this.email = email;
}
@Override
public String toString()
{
return "name:" + name + ",age:" + age + ",address:" + address + ",email:" + email;
}
}
package edu.jlu.fuliang;
public class Person
{
private String name;
private int age;
private Address address;
private String email;
public Person()
{
}
public Person( String name, int age, Address address, String email )
{
this.name = name;
this.age = age;
this.address = address;
this.email = email;
}
public String getName()
{
return name;
}
public void setName( String name )
{
this.name = name;
}
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;
}
public String getEmail()
{
return email;
}
public void setEmail( String email )
{
this.email = email;
}
@Override
public String toString()
{
return "name:" + name + ",age:" + age + ",address:" + address + ",email:" + email;
}
}
Java代码
package edu.jlu.fuliang;
public class Address
{
private String street;
private String city;
public Address()
{
}
public Address( String street, String city )
{
this.street = street;
this.city = city;
}
public String getStreet()
{
return street;
}
public void setStreet( String street )
{
this.street = street;
}
public String getCity()
{
return city;
}
public void setCity( String city )
{
this.city = city;
}
@Override
public String toString()
{
return "street:" + street + ",city:" + city;
}
}
package edu.jlu.fuliang;
public class Address
{
private String street;
private String city;
public Address()
{
}
public Address( String street, String city )
{
this.street = street;
this.city = city;
}
public String getStreet()
{
return street;
}
public void setStreet( String street )
{
this.street = street;
}
public String getCity()
{
return city;
}
public void setCity( String city )
{
this.city = city;
}
@Override
public String toString()
{
return "street:" + street + ",city:" + city;
}
}
写一个测试来看看如何使用XStream:
Java代码
package edu.jlu.fuliang;
import junit.framework.TestCase;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
public class XStreamTest extends TestCase
{
private Person person;
@Override
protected void setUp() throws Exception
{
Address address = new Address("中关村","北京");
person = new Person("张三",12,address,"zhangsan@gmail.com");
}
public void testObjectXML()
{
XStream xStream = new XStream();
xStream.alias( "Person", Person.class);
xStream.alias( "Address", Address.class );
String xml = xStream.toXML( person );
System.out.println("Serialize person to XML:\n" + xml);
Person p = (Person) xStream.fromXML( xml );
System.out.println("Deserialize XML to person:\n" + p);
}
public void testObjectJSON(){
XStream xStream = new XStream(new JettisonMappedXmlDriver());
xStream.setMode( XStream.NO_REFERENCES );
xStream.alias( "Person", Person.class );
xStream.alias("Address", Address.class);
String json = xStream.toXML( person );
System.out.println("Serialize person to JSON:\n" + json);
Person p = (Person) xStream.fromXML( json );
System.out.println("Deserialize XML to person:\n" + p);
}
}
package edu.jlu.fuliang;
import junit.framework.TestCase;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
public class XStreamTest extends TestCase
{
private Person person;
@Override
protected void setUp() throws Exception
{
Address address = new Address("中关村","北京");
person = new Person("张三",12,address,"zhangsan@gmail.com");
}
public void testObjectXML()
{
XStream xStream = new XStream();
xStream.alias( "Person", Person.class);
xStream.alias( "Address", Address.class );
String xml = xStream.toXML( person );
System.out.println("Serialize person to XML:\n" + xml);
Person p = (Person) xStream.fromXML( xml );
System.out.println("Deserialize XML to person:\n" + p);
}
public void testObjectJSON(){
XStream xStream = new XStream(new JettisonMappedXmlDriver());
xStream.setMode( XStream.NO_REFERENCES );
xStream.alias( "Person", Person.class );
xStream.alias("Address", Address.class);
String json = xStream.toXML( person );
System.out.println("Serialize person to JSON:\n" + json);
Person p = (Person) xStream.fromXML( json );
System.out.println("Deserialize XML to person:\n" + p);
}
}
结果:
引用
<Person>
<name>张三</name>
<age>12</age>
<address>
<street>中关村</street>
<city>北京</city>
</address>
<email>zhangsan@gmail.com</email>
</Person>
Serialize person to XML:
<Person>
<name>张三</name>
<age>12</age>
<address>
<street>中关村</street>
<city>北京</city>
</address>
<email>zhangsan@gmail.com</email>
</Person>
Deserialize XML to person:
name:张三,age:12,address:street:中关村,city:北京,email:zhangsan@gmail.com
Serialize person to JSON:
{"Person":{"name":"张三","age":12,"address":{"street":"中关村","city":"北京"},"email":"zhangsan@gmail.com"}}
Deserialize XML to person:
name:张三,age:12,address:street:中关村,city:北京,email:zhangsan@gmail.com
写出的XStream果然很容易使用。
下面举一个用一个小例子说明如何使用:
实体Person,我们希望Person的对象能够和XML/JSON相互转化
Java代码
package edu.jlu.fuliang;
public class Person
{
private String name;
private int age;
private Address address;
private String email;
public Person()
{
}
public Person( String name, int age, Address address, String email )
{
this.name = name;
this.age = age;
this.address = address;
this.email = email;
}
public String getName()
{
return name;
}
public void setName( String name )
{
this.name = name;
}
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;
}
public String getEmail()
{
return email;
}
public void setEmail( String email )
{
this.email = email;
}
@Override
public String toString()
{
return "name:" + name + ",age:" + age + ",address:" + address + ",email:" + email;
}
}
package edu.jlu.fuliang;
public class Person
{
private String name;
private int age;
private Address address;
private String email;
public Person()
{
}
public Person( String name, int age, Address address, String email )
{
this.name = name;
this.age = age;
this.address = address;
this.email = email;
}
public String getName()
{
return name;
}
public void setName( String name )
{
this.name = name;
}
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;
}
public String getEmail()
{
return email;
}
public void setEmail( String email )
{
this.email = email;
}
@Override
public String toString()
{
return "name:" + name + ",age:" + age + ",address:" + address + ",email:" + email;
}
}
Java代码
package edu.jlu.fuliang;
public class Address
{
private String street;
private String city;
public Address()
{
}
public Address( String street, String city )
{
this.street = street;
this.city = city;
}
public String getStreet()
{
return street;
}
public void setStreet( String street )
{
this.street = street;
}
public String getCity()
{
return city;
}
public void setCity( String city )
{
this.city = city;
}
@Override
public String toString()
{
return "street:" + street + ",city:" + city;
}
}
package edu.jlu.fuliang;
public class Address
{
private String street;
private String city;
public Address()
{
}
public Address( String street, String city )
{
this.street = street;
this.city = city;
}
public String getStreet()
{
return street;
}
public void setStreet( String street )
{
this.street = street;
}
public String getCity()
{
return city;
}
public void setCity( String city )
{
this.city = city;
}
@Override
public String toString()
{
return "street:" + street + ",city:" + city;
}
}
写一个测试来看看如何使用XStream:
Java代码
package edu.jlu.fuliang;
import junit.framework.TestCase;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
public class XStreamTest extends TestCase
{
private Person person;
@Override
protected void setUp() throws Exception
{
Address address = new Address("中关村","北京");
person = new Person("张三",12,address,"zhangsan@gmail.com");
}
public void testObjectXML()
{
XStream xStream = new XStream();
xStream.alias( "Person", Person.class);
xStream.alias( "Address", Address.class );
String xml = xStream.toXML( person );
System.out.println("Serialize person to XML:\n" + xml);
Person p = (Person) xStream.fromXML( xml );
System.out.println("Deserialize XML to person:\n" + p);
}
public void testObjectJSON(){
XStream xStream = new XStream(new JettisonMappedXmlDriver());
xStream.setMode( XStream.NO_REFERENCES );
xStream.alias( "Person", Person.class );
xStream.alias("Address", Address.class);
String json = xStream.toXML( person );
System.out.println("Serialize person to JSON:\n" + json);
Person p = (Person) xStream.fromXML( json );
System.out.println("Deserialize XML to person:\n" + p);
}
}
package edu.jlu.fuliang;
import junit.framework.TestCase;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
public class XStreamTest extends TestCase
{
private Person person;
@Override
protected void setUp() throws Exception
{
Address address = new Address("中关村","北京");
person = new Person("张三",12,address,"zhangsan@gmail.com");
}
public void testObjectXML()
{
XStream xStream = new XStream();
xStream.alias( "Person", Person.class);
xStream.alias( "Address", Address.class );
String xml = xStream.toXML( person );
System.out.println("Serialize person to XML:\n" + xml);
Person p = (Person) xStream.fromXML( xml );
System.out.println("Deserialize XML to person:\n" + p);
}
public void testObjectJSON(){
XStream xStream = new XStream(new JettisonMappedXmlDriver());
xStream.setMode( XStream.NO_REFERENCES );
xStream.alias( "Person", Person.class );
xStream.alias("Address", Address.class);
String json = xStream.toXML( person );
System.out.println("Serialize person to JSON:\n" + json);
Person p = (Person) xStream.fromXML( json );
System.out.println("Deserialize XML to person:\n" + p);
}
}
结果:
引用
<Person>
<name>张三</name>
<age>12</age>
<address>
<street>中关村</street>
<city>北京</city>
</address>
<email>zhangsan@gmail.com</email>
</Person>
Serialize person to XML:
<Person>
<name>张三</name>
<age>12</age>
<address>
<street>中关村</street>
<city>北京</city>
</address>
<email>zhangsan@gmail.com</email>
</Person>
Deserialize XML to person:
name:张三,age:12,address:street:中关村,city:北京,email:zhangsan@gmail.com
Serialize person to JSON:
{"Person":{"name":"张三","age":12,"address":{"street":"中关村","city":"北京"},"email":"zhangsan@gmail.com"}}
Deserialize XML to person:
name:张三,age:12,address:street:中关村,city:北京,email:zhangsan@gmail.com
发表评论
-
extjs和jquery各适用于什么场景
2013-01-23 09:49 2038比较点 extjs jquery 是 ... -
extjs和jquery各适用于什么场景
2013-01-21 11:14 13811.应该说粒度不同,extjs ... -
sqlite 数据类型 全面
2011-06-14 13:49 1255一般数据采用的固定的 ... -
extjs direct下载地址
2010-09-11 18:23 1115http://code.google.com/p/direct ... -
json返回数据,首先要做的事
2010-09-08 12:45 1106var json=eval("("+jso ... -
ExtJS 面向对象
2010-08-25 15:15 9831:支持命名空间 <script type=&qu ... -
ExtJS border 布局
2010-08-25 14:42 1954border(边界) 布局是指,把面板组件显示在 北 东 南 ... -
Ext.data-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy
2010-08-03 09:15 1145Ext.data-DataProxy/HttpProxy/Me ... -
extjs表单的提交
2010-06-24 17:01 12708//ExtJs 表单提交 form.getForm(). ... -
JSONLib解析json数组
2010-06-24 15:33 1699public class JsonHelper { /** ... -
Jsonlib
2010-06-24 13:13 1328使用JSON-LIB可以极大的简化JAVA对象转换成JSON对 ... -
以"对象"方式接收json数据.(解决乱码问题)
2010-06-24 10:36 5386客户端(传输数据无中文): Java代码 //序号控件失去 ... -
extjs的xtype
2010-06-24 09:06 1278基本组件: xtype Class 描述 button E ... -
EXTJS 查询数据,分页显示时传送自定义参数,添加控件的任何事件模板
2010-06-21 13:25 2169EXTJS 查询数据,分页显示时传送自定义参数,添加控件的任何 ... -
Extjs 分页查询的参数问题
2010-06-21 12:57 2382先按条件查询数据,再点下一页保留住查询条件,解决方案是将查询参 ... -
EXT中grid分页实现的完整例子---从前台到后台
2010-05-25 00:14 13684// -------------------- 定义grid- ... -
ExtJs的el和contentEl的区别
2010-05-19 16:46 34041、把<div id="div_exam&qu ... -
Ext gird分页学习
2010-04-23 13:33 1031var store = new Ext.data.Store( ... -
SModel了解
2010-04-21 09:35 14661、比较 jsonlib,Xstream,gson,smode ... -
xstream实现JAVA对象和XML的相互转化
2010-04-20 21:56 2488首页 http://xstream.codehaus.org ...
相关推荐
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列...
xstream-1.4.2.jar,xpp3_min-1.1.4.jar,xmlpull-1.1.3.1.jar 包括 //XML --> JavaBean, //XML --> JavaBean //JavaBean --> JSON,//JSON--> JavaBean
Struts2 XStream插件:基于Java开发,包含20个文件,包括12个Java类文件...该项目是一个Struts2插件,可以输出JSON或XML格式数据,使用Xstream库进行序列化和反序列化,旨在为开发者提供一个高效、便捷的数据处理工具。
Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发。 0x01 漏洞描述 Xstream上次对CVE-2020-26217处理并不彻底,虽然通过黑名单...
XStream使用例子,如何序列化、反序列化到XML和JSON格式。
xstream可以完美转换xml,与以往的解析xml工具dom相比,xstream是一个易用的、开源 的库,使用起来简单、小巧,容易理解,可以轻易的将java对象和xml文档相互转换,而 且可以修改某个特定的属性和节点名称。...
XStream是Java类库,用来将对象序列化成XML (JSON)或反序列化为对象。XStream是自由软件,可以在BSD许可证的许可下分发。
很多人都用过Xstream对XML生成和读取,但是对Json的序列化和对象化,还很少有人知道。只需两个类包,就可以比较好的完成了,还不试试……
Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列...
在J2EE的开发中,这是很常用的技术,比如一个java class与xml之间的序列化与反序列化,我们可以通过 xstream来实现,如果是与json之间的转换,我们可以通过 gson.jar或者jsonlib.jar 来实现。方法很多,也是常见的...
Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列...
JAXB (Spring XML 序列化) SAX (Simple API for XML) XML Stream XStream Properties(JDK API 可处理) Key Value 配置模式 XML 配置模式 .ini(JDK Properties API 可处理) JSON(第三方) YAML(第三方...
transcoderFactoryClass支持5种序列化方式,区别和选择自己研究吧 de.javakaffee.web.msm.JavaSerializationTranscoderFactory de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory de....
transcoderFactoryClass支持5种序列化方式,区别和选择自己研究吧 de.javakaffee.web.msm.JavaSerializationTranscoderFactory de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory de....