日期:2014-05-16  浏览次数:20312 次

Java之JSON&XML转换

Java之JSON&XML转换

?

?? 前言

???????JSON及XML的Java序列化、反序列化(转换)在WebService、Ajax数据传递中,
用得比较多。如:在用ExtJS、jQuery、mootools以及一些WebService时,你可以需要用到JSON、XML,
给前端传递JSON或XML数据。这个时候你就可以用下面的这些技术帮助你转换Java对象,这些技术都
可以轻易完成。比你手动拼接字符前要方便、省事得多。JSON的传递数据相对XML要更快些,
且性能更好,但XML的可读性更清晰。至于用JSON,还是XML就看你的需求了。?

?? 框架
???????? 其实像这样的JSON和XML互相转化的框架有很多比如:
???????? 1、json-lib框架,可以完成Java对象到JSON的相互转换,以及简单转换XML。
?Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。
?在线博客:
??? 收藏的博客:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html
???????? 2、Jackson框架,可以很方便的完成Java对象和JSON的相互转换。也可以完成xml转换,但是还不是那么的完善。
相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。
??? 收藏的博客:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html
???????? 3、XStream对JSON、XML的都支持,它可以对JSON或XML的完美转换。
xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换;
上面的都完美支持JSON,但是对xml的支持还不是很好。一定程度上限制了对Java对象的描述,不能让xml完全体现到对Java对象的描述。这里将会 介绍xStream对JSON、XML的完美支持。xStream不仅对XML的转换非常友好,而且提供annotation注解,可以在 JavaBean中完成对xml节点、属性的描述。以及对JSON也支持,只需要提供相关的JSONDriver就可以完成转换。
? ? 收藏的博客:http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html
? ? ? ?? 4、用Castor来完成Java对象到xml的相互转换。
上面的都可以完成Java对象到XML的转换,但是还不是那么的完善。还有XStream对JSON及XML的支持,它可以对JSON或XML的完美转换。
??? 收藏的博客:http://www.cnblogs.com/hoojo/archive/2011/04/25/2026819.html
???????? 5、Jaxb2完成xml的转换
这次介绍Jaxb2完成xml的转换,Jaxb2使用了JDK的新特性。如:Annotation、GenericType等,Jaxb2需要在即将转换 的JavaBean中添加annotation注解。注,这是webservice常用到。
??? 收藏的博客:http://www.cnblogs.com/hoojo/archive/2011/04/26/2029011.html
??? ? ?? 6、Jibx完成Java到XML的相互转换
上面的都可以完成Java对象到XML的转换,但还不是那么的完善。
??? 收藏的博客:http://www.cnblogs.com/hoojo/archive/2011/04/27/2030205.html

?