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
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处理的方法都可以找到对应的类;贴上一段代码示例:
使用谷歌的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集合,代码如下:
所需jar包:org.json.jar
下载地址:www.json.org 或第三方:http://kiccp.sinaapp.com/store/info/111
同样实现对json字符串转换为Map、List集合,代码如下:
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
相关文章推荐
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- Android开发-进阶:Json字符串转换为java对象的各种实现方法[json_lib框架、Gson、org.json]
- Json字符串转换为java对象的各种实现方法
- Json字符串转换为java对象的各种实现方法
- 通过json-lib实现Java对象和json字符串的相互转换
- json对象和java对象的相互转换方法(json-lib、jackson、fastjson、gson)
- Java中Json字符串直接转换为对象的方法(包括多层List集合)
- Java中Json字符串直接转换为对象的方法(包括多层List集合)
- Gson在java对象和json字符串之间转换
- Gson实现 java对象和json互相转换
- Java之使用json-lib进行对象与json字符串之间的转换
- 使用Google的Gson实现对象和json字符串之间的转换
- 使用Google的Gson实现对象和json字符串之间的转换
- Java之使用json-lib进行对象与json字符串之间的转换
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- $.post()方法与GSON工具包将Object对象转换为JSON字符串
- java将JSON字符串转换为实体类对象,基于net.sf.json实现
- Jsonlib实现Json字符串和Java对象的互相转换