- 浏览: 251304 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
郑涵魁:
这才是好文啊
一次使用Eclipse Memory Analyzer分析Tomcat内存溢出 -
silvia016:
很有用,非常感谢
一次使用Eclipse Memory Analyzer分析Tomcat内存溢出 -
chengcwn:
好文章,多谢分享!
一次使用Eclipse Memory Analyzer分析Tomcat内存溢出 -
young7:
不错,特别是那个参考文章
JAVA调用Shell脚本--及阻塞的解决办法 -
zhujianbogo:
什么邮件列表,能说下解决方案吗? 谢谢 。 我也遇到这个问题了 ...
Tomcat与apache2集群的问题
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列化工具而不是数据绑定工具,就是说不能从 XML 或者 XML Schema Definition (XSD) 文件生成类。
和其他序列化工具相比,XStream 有三个突出的特点:
- XStream 不关心序列化/逆序列化的类的字段的可见性。
- 序列化/逆序列化类的字段不需要 getter 和 setter 方法。
- 序列化/逆序列化的类不需要有默认构造函数。
不需要修改类,使用 XStream 就能直接序列化/逆序列化任何第三方类。
下面介绍一下XStream(http://xstream.codehaus.org )把POJO<<-->>XML/JSON的相互转化。
上代码例子
import java.util.ArrayList; import java.util.List; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver; import com.thoughtworks.xstream.io.xml.DomDriver; public class Test { public static class Customer { private int custId; private String custName; private List<Order> orders; public int getCustId() { return custId; } public void setCustId(int custId) { this.custId = custId; } public String getCustName() { return custName; } public void setCustName(String custName) { this.custName = custName; } public List<Order> getOrders() { return orders; } public void setOrders(List<Order> orders) { this.orders = orders; } } public static class Order { private int orderId; private String orderName; private Product[] products; public int getOrderId() { return orderId; } public void setOrderId(int orderId) { this.orderId = orderId; } public String getOrderName() { return orderName; } public void setOrderName(String orderName) { this.orderName = orderName; } public Product[] getProducts() { return products; } public void setProducts(Product[] products) { this.products = products; } } public static class Product { private int prodId; private String prodName; private double prodPrice; public int getProdId() { return prodId; } public void setProdId(int prodId) { this.prodId = prodId; } public String getProdName() { return prodName; } public void setProdName(String prodName) { this.prodName = prodName; } public double getProdPrice() { return prodPrice; } public void setProdPrice(double prodPrice) { this.prodPrice = prodPrice; } } public static void main(String[] args) { Product p1 = new Product(); p1.setProdId(20100001); p1.setProdName("苹果"); p1.setProdPrice(8888); Product p2 = new Product(); p2.setProdId(20100002); p2.setProdName("联想"); p2.setProdPrice(6000); Product[] prods1 = new Product[] { p1, p2 }; Order order1 = new Order(); order1.setOrderId(101); order1.setOrderName("笔记本"); order1.setProducts(prods1); List<Order> orders = new ArrayList<Order>(); orders.add(order1); Customer customer = new Customer(); customer.setCustId(100001); customer.setCustName("张三"); customer.setOrders(orders); XStream xstream = new XStream(new DomDriver()); xstream.alias("customer", Customer.class); xstream.alias("order", Order.class); xstream.alias("product", Product.class); String xml = xstream.toXML(customer);// 转换成 xml 格式 System.out.println(xml); // 输出 xml 字符串 System.out.println("---------------------JSON-----------------------------"); // JSON XStream xstream4JSON = new XStream(new JsonHierarchicalStreamDriver()); String json = xstream4JSON.toXML(customer);// 转换成 JSON 格式 System.out.println(json); // 输出 JSON 字符串 } }
打印结果
<customer> <custId>100001</custId> <custName>张三</custName> <orders> <order> <orderId>101</orderId> <orderName>笔记本</orderName> <products> <product> <prodId>20100001</prodId> <prodName>苹果</prodName> <prodPrice>8888.0</prodPrice> </product> <product> <prodId>20100002</prodId> <prodName>联想</prodName> <prodPrice>6000.0</prodPrice> </product> </products> </order> </orders> </customer> ---------------------JSON----------------------------- {"Zbingo.grid.lookup.Test$Customer": { "custId": 100001, "custName": "张三", "orders": [ { "orderId": 101, "orderName": "笔记本", "products": [ { "prodId": 20100001, "prodName": "苹果", "prodPrice": 8888.0 }, { "prodId": 20100002, "prodName": "联想", "prodPrice": 6000.0 } ] } ] }}
发表评论
-
Java文件读写数据流
2012-08-30 20:30 3661数据流可分节点流( ... -
一次使用Eclipse Memory Analyzer分析Tomcat内存溢出
2012-04-16 19:59 24842前言在平时开发、测试过程中、甚至是生产环境中,有时会遇到Out ... -
apache2.2+tomcat超时503
2012-03-26 10:35 3380最近apache2.2+tomcat5.5.28(两个) ... -
Tomcat与apache2集群的问题
2012-03-16 14:53 2421最近在Tomcat与apache2集群的问题的应用程序中 ... -
JVM的参数设置的一个要点
2012-03-11 00:07 2498JVM参数的设置(特别是 –Xmx –Xms –Xmn ... -
【转载】理解Heap Profling名词-Shallow和Retained Sizes
2012-03-06 17:22 2871转载请注明原文链接:h ... -
更改eclipse author的默认名字(作者)
2011-09-07 12:39 1628在eclipse的目录下找到eclipse.in ... -
【转载】java.lang.OutOfMemoryError: PermGen space及其解决方法
2011-08-27 12:18 1206java.lang.OutOfMemoryError: P ... -
JAVA NIO
2011-08-19 22:25 667NIO流是一个比IO流(字节字符)效率高很多,因为是以块 ... -
XMLGregorianCalendar 与 Date 转换
2011-06-28 17:01 1893XMLGregorianCalendar 与 Date ... -
Web Service 的描述语言WSDL说明
2011-05-27 10:28 1171<?xml version="1. ... -
spring+quartz的配置文件
2011-05-26 21:23 1195spring+quartz的配置文件 &l ... -
JAVA调用Shell脚本--及阻塞的解决办法
2011-05-16 13:13 8682用java调用shell,使用 Process p=Runt ... -
WIN7安装WebSphere6.1
2011-03-23 12:55 0首先是安装,我们决定安装WebSphere6.1。 ... -
Jbpm4常用操作
2011-03-06 15:00 2604Jbpm4常用操作 一、ProcessEngine:流程 ... -
ThreadLocal
2010-11-08 21:40 829ThreadLocal -
小记--tomcat 常见问题
2010-10-12 22:29 11161. tomcat 6 undepl ... -
SimpleDateFormat用法说明
2010-09-19 13:02 1389关于java.text.SimpleDateFormat。 ... -
常用的jar包总结(4)
2010-08-13 12:34 1664最近用新的一套web框架做项目,有很多常用的包集成在里面。 ... -
常用的jar包总结(3)
2010-08-11 23:27 1994最近用新的一套web框架做项目,有很多常用的包集成在里面 ...
相关推荐
NULL 博文链接:https://kingxss.iteye.com/blog/1037741
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。...XStream在进行数据类型转换时,使用系统缺省的类型转换器。同时,也支持用户自定义的类型转换器。
xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项
使用xStream实现java对象和xml、json的相互转换
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
xstream 将xml文档转换成 java对象,然后就可以利用json库转成json对象啦。
NULL 博文链接:https://xiyang1106.iteye.com/blog/2149652
使用xstream解析xml,xml与pojo的双向转化,完整的java 工程 带jar包和测试类,可以直接跑
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
利用XStream读写xml文件
XStream:Object与Xml字符串 互相转换 多个同名子节点以及节点属性的处理
xstream 1.3.1.jar bean对象转换为xml
XStream 是一种序列化工具而不是数据绑定工具,就是说不能从 XML 或者 XML Schema Definition (XSD) 文件生成类。 和其他序列化工具相比,XStream 有三个突出的特点: XStream 不关心序列化/逆序列化的类的字段的...
本文档主要讲述的是Xstream操作Xml与Json;Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。...
java中对象与xml转换,实例带完整源码
它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。 pom引用 <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.20</version> </dependency> 实体类...
Xstream_java对象和xml的互相转换
自己写的简单测试demo
XStream组件进行Object与XML互转用法 1.所需求jar包: xstream-1.3.1.jar 2.如果仅进行OBJECT与XML之间互转只需要这一个jar 包及XStream这一个类就可又了 用法说明: 1.OBJECT 转XML //第一步:准备好要进行XML...