- 浏览: 1639989 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (405)
- C/C++ (16)
- Linux (60)
- Algorithm (41)
- ACM (8)
- Ruby (39)
- Ruby on Rails (6)
- FP (2)
- Java SE (39)
- Java EE (6)
- Spring (11)
- Hibernate (1)
- Struts (1)
- Ajax (5)
- php (2)
- Data/Web Mining (20)
- Search Engine (19)
- NLP (2)
- Machine Learning (23)
- R (0)
- Database (10)
- Data Structure (6)
- Design Pattern (16)
- Hadoop (2)
- Browser (0)
- Firefox plugin/XPCOM (8)
- Eclise development (5)
- Architecture (1)
- Server (1)
- Cache (6)
- Code Generation (3)
- Open Source Tool (5)
- Develope Tools (5)
- 读书笔记 (7)
- 备忘 (4)
- 情感 (4)
- Others (20)
- python (0)
最新评论
-
532870393:
请问下,这本书是基于Hadoop1还是Hadoop2?
Hadoop in Action简单笔记(一) -
dongbiying:
不懂呀。。
十大常用数据结构 -
bing_it:
...
使用Spring MVC HandlerExceptionResolver处理异常 -
一别梦心:
按照上面的执行,文件确实是更新了,但是还是找不到kernel, ...
virtualbox 4.08安装虚机Ubuntu11.04增强功能失败解决方法 -
dsjt:
楼主spring 什么版本,我的3.1 ,xml中配置 < ...
使用Spring MVC HandlerExceptionResolver处理异常
试了一下Thoughtworks的XStream,以测试驱动和敏捷开发著称的Thoughtworks,
写出的XStream果然很容易使用。
下面举一个用一个小例子说明如何使用:
实体Person,我们希望Person的对象能够和XML/JSON相互转化
写一个测试来看看如何使用XStream:
结果:
<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 json to person:
name:张三,age:12,address:street:中关村,city:北京,email:zhangsan@gmail.com
太麻烦了。
晕,这还麻烦? 只用了这么一句话
String xml = xStream.toXML( person );
请教一个更简洁的lib
写出的XStream果然很容易使用。
下面举一个用一个小例子说明如何使用:
实体Person,我们希望Person的对象能够和XML/JSON相互转化
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 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:
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 JSON 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 json to person:
name:张三,age:12,address:street:中关村,city:北京,email:zhangsan@gmail.com
评论
4 楼
fuliang
2012-05-13
testObjectJSON里面已经有演示了
LewJun 写道
这里面有将json转换成为对象的方法。
下面的json是使用了List之后生成的。
请问:
应该怎么将这段json {'teachers': [ {'id': 1, 'name': 'Rose'}, { 'id': 3, 'name': 'Tony' } ]}
还原成为对象?
下面的json是使用了List之后生成的。
请问:
应该怎么将这段json {'teachers': [ {'id': 1, 'name': 'Rose'}, { 'id': 3, 'name': 'Tony' } ]}
还原成为对象?
3 楼
LewJun
2012-04-26
这里面有将json转换成为对象的方法。
下面的json是使用了List之后生成的。
请问:
应该怎么将这段json {'teachers': [ {'id': 1, 'name': 'Rose'}, { 'id': 3, 'name': 'Tony' } ]}
还原成为对象?
下面的json是使用了List之后生成的。
请问:
应该怎么将这段json {'teachers': [ {'id': 1, 'name': 'Rose'}, { 'id': 3, 'name': 'Tony' } ]}
还原成为对象?
2 楼
fuliang
2009-05-22
yajie 写道
太麻烦了。
晕,这还麻烦? 只用了这么一句话
String xml = xStream.toXML( person );
请教一个更简洁的lib
1 楼
yajie
2009-05-22
太麻烦了。
发表评论
-
Builder模式遇到继承
2013-10-13 13:48 0interface Self<T extends ... -
Builder模式遇到集成
2013-10-13 13:47 0package com.qunar.qss.business. ... -
JVM调优Step by Step
2012-02-02 17:38 0现代的JVM能够适应于各种应用和领域,每个应用和领域的使用 ... -
commons-lang StringUtils#split的坑
2011-12-31 10:11 3120今天用StringUtils#split,陷入了前两个坑。需求 ... -
使用scala.sys.process包和系统交互
2011-07-19 00:00 6451在Java中我们可以使用Runtime.getRuntime( ... -
HttpClient Json请求工具
2011-05-05 18:32 17815发送Json请求,结果返回Json. public sta ... -
利用Java反射实现通用的Excel报表
2011-04-12 16:00 1991最近有很多客户报表需要提供客户下载,需要生成一个Excel的格 ... -
深入异常处理
2011-03-31 20:46 1778异常处理是写一个健壮 ... -
Java序列化注意一些点
2011-03-12 21:04 18201.序列化ID的问题: 标示了版本号,版本号一致才能反序列化成 ... -
Java动态代理
2010-09-24 00:34 4410Java提供了动态代理,可以完成AOP和装饰模式的功能,主要的 ... -
Java Timestamp是和ExtJS的timestamp不兼容
2010-08-09 20:33 3332Timestamp纳秒级别的,ExtJS的timestamp使 ... -
XML DocumentBuilder#parse(String str)
2010-07-06 15:55 3858DocumentBuilderFactory dbf = ... -
[备忘]String#split/substring的子串会共享原来大的String
2010-03-29 17:18 1456如果每次需要大字符串中的很小的一个字串,可能会引起内存中大量的 ... -
runtime.exec()执行进程block死锁问题
2010-01-18 21:39 5242最近在java代码中使用runtime.exec执行rsync ... -
URL中文问题
2010-01-08 14:46 10482最近使用HttpClient,和Java的java.net.U ... -
A TaskExecutor Impl
2009-12-07 11:33 1590import java.util.ArrayList; im ... -
从《编程的未来》这篇文章想到C++和Java语言的爽与不爽
2009-05-01 23:44 3942从编程的未来这篇文 ... -
《Effetive Java》读书笔记二
2009-02-23 14:23 1574第二章 所有对象共有的 ... -
《Effetive Java》读书笔记一
2009-02-19 11:36 2144《Effetive Java》和 《Effective C++ ... -
如何彻底杜绝别人使用你的类
2008-05-22 19:30 2326今天在eclipse源码中发 ...
相关推荐
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....