您的位置:首页 > 编程语言 > Java开发

Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】

2015-04-16 14:01 811 查看
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming
Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

欲实现JSON字符串和java对象之间的互相转换,方法有很多!本人层也因为项目上的需求,一度对这几种方法做过研究和试验!现将自己的一点小经验分享与大家,如有纰漏,请指正!

1.通过json_lib来实现对json和java对象之间的转换,使用JSON-LIB可以极大的简化JAVA对象转换成JSON对象所需进行的操作,更可以避免人工操作生成JSON对象字符串时带来的麻烦和误操作:

注:欲使用json_lib需要以下几个jar包的支持:

json-lib-1.1-jdk15.jar 下载地址:http://json-lib.sourceforge.net

commons-collections-3.2.1.jar

commons-lang-2.4.jar

commons-logging-1.1.1.jar

commons-beanutils-1.8.0.jar

以上commons系列包在tomcat/comon/lib下可以找到;

ezmorph-1.0.6.jar 下载地址http://ezmorph.sourceforge.net

morph-1.0.1 下载地址:http://morph.sourceforge.net

有了这些jar包的支持,平时关于json处理的方法都可以找到对应的类;贴上一段代码示例:

2.通过使用谷歌的Gson来处理json字符串,谷歌的Gson针对封装的javaBean处理起来很方便,但对于未封装的json字符串需要找到技巧处理起来也才能顺手。

使用谷歌的Gson当然也需要jar包的支持,这需要一个jar包:Gson.jar

下载地址:http://code.google.com/p/google-gson/downloads/detail?name=google-gson-2.2.4-release.zip

示例:将通过js获取的json字符串转换为Map、List集合,代码如下:

3.使用最轻量级的org.json.jar实现json字符串和java对象之间的互转

所需jar包:org.json.jar

下载地址:www.json.org 或第三方:http://kiccp.sinaapp.com/store/info/111

同样实现对json字符串转换为Map、List集合,代码如下:

以上三种常用的json和java对象之间的互相转换方法各有其特点,根据我的小经验,现将其优缺点总如下,供参考!

1.json_lib json解析框架

优点:各种复杂json格式和对json处理的一般需求都可以做到

缺点:所需支持的jar文件较多,并且关于jar包版本或许会出现一些杂七杂八的问题

2.谷歌Gson对json的解析:

优点:(1)。可以谷歌的Gson就是为处理java对象和json之间转换开发的框架,其可以很简单、方便的对封装的java对象和json格式文本之间的转换,包括java工具类集合之间的转换也很方便;(2)。相对json_lib框架来说,只需要一个Gson.jar就可以,需要jar文件数量少;

缺点:由于其相对来说偏向于处理java对象和json之间的转换,所以其只简单的处理json字符串和集合类之间的转换稍微需要一个过渡,就是使用反射确定转换的java对象类型。

3.org.json框架

优点:在这三者之中,其实最轻量级、同谷歌Gson一样所需jar文件也是最少的一种方法,并且其在处理json字符串到java集合的转黄相对简便

缺点:相对Gson处理java对象和json之间的转换比较费事

综述:这三种解析json的方法各有优缺点,具体可根据自己需求选择使用。

本文出自 “有梦就有希望” 博客,请务必保留此出处/article/7237388.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: