本文转自:http://www.happyalaric.com/archives/396
前两节讲过了json数据格式和json解析原理,为了不重复发明轮子,我们这节来介绍利用第三方jar工具来解析数据。
首先我们还是到json.org, 来下载jar帮助我们解析json数据。
我们在官方选择java下面的
json-lib
一、介绍
json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能。
二、下载
进入http://json-lib.sourceforge.net/ 点击左边download
选择home下面的json-lib 到下载页面 点击json-lib-2.4-jdk15-sources.jar, json-lib-2.4-jdk15-javadoc.jar直接下载,这个是源码利于我们学习。再下一份编译好的jar json-lib-2.4-jdk15.jar。
下载地址:http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/json-lib-2.4-jdk15-javadoc.jar
三、演练
将我们下载的json-lib-2.4-jdk15-sources.jar导入到我们的eclipse工程里面。
然后写个简单例子
package json;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
*
*【描述】:
*【作者】:alaric
*【时间 】:Jun 1, 2012
*【文件】:jsonTest.java
*
*/
public class Test {
public static void main(String[] args) {
JSONArray jaArray = new JSONArray();
jaArray.add(“苹果”);
jaArray.add(1, “梨子”);
System.out.println(jaArray.toString());
String jsonString = “{‘zhangsan’:'ddd’,'lisi’:'ddddd’}”;
JSONObject jsonObject = JSONObject.fromObject(jsonString);
System.out.println(jsonObject.get(“zhangsan”));
System.out.println(jsonObject.get(“lisi”));
}
}
结果报
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
这样一来就知道是依赖别的包了
再回到http://json-lib.sourceforge.net/ 一看发现有这么一段
Json-lib comes in two flavors, depending on the jdk compatibility. json-lib-x.x-jdk13 is compatible with JDK 1.3.1 and upwards. json-lib-x.x-jdk15 is compatible with JDK 1.5, includes support for Enums in JSONArray and JSONObject. Please reffer to the appropriate javadoc links available in the project menu.
Json-lib requires (at least) the following dependencies in your classpath:
jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6
Other dependencies are needed if working with XML andGroovy. Please review the Dependencies report to know more about those extra dependencies.
意思是说后缀是13的依赖于jdk1.3,15的依赖于jdk1.5 在JSONArray和JSONObject中也支持枚举
json-lib 至少需要依赖你的classpath上面那些包。
点击下面的连接下载这些依赖
查看依赖树
[img][/img]
下载后倒入工程:
运行程序
输出:
["苹果","梨子"]
ddd
ddddd
分享到:
相关推荐
5. 无依赖:json-lib是一个独立的jar包,无任何第三方依赖,体积小,易于在项目中使用。 6. 高性能:json-lib的性能表现不错,可以满足大多数项目的要求,适合在Android和服务器端使用。 7. 与GWT无缝集成:js
1、json的核心包:json-lib-2.4-jdk15.jar; 2、json-lib-2.4-jdk15.jar依赖的jar包:commons-beanutils-1.9.3.jar,commons-collections-3.2.2.jar,commons-lang-2.6.jar,commons-logging-1.2.jar,ezmorph-1.0.6...
里面包含json-lib所需的全部jar文件. json-lib-2.1-jdk15.jar ezmorph-1.0.3.jar commons-beanutils.jar commons-collections-3.2.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar
JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包
json基础jar包,包含json-lib-2.3-jdk15.jar源码
json架包,包好json-lib-2.2.3-jdk13.jar,json-lib-2.4-jdk14.jar以及附带的支持包ezmorph-1.0.6.jar,commons-logging.jar,commons-lang.jar等
json-lib-2.2.3-jdk15-javadoc.jar json 源代码
json-lib-2.4-jdk15.jar json-lib-2.4-jdk15-sources.jar json-lib-2.4-jdk15-javadoc.jar 包含文件有:json-lib-2.4-jdk15.jar json-lib-2.4-jdk15-sources.jar json-lib-2.4-jdk15-javadoc.jar
使用json-lib解析json所需要的jar,包括: commons-beanutils-1.7.0.jar、commons-collections-3.2.jar、 commons-lang-2.4.jar、commons-logging-1.1.jar、 ezmorph-1.0.4.jar、json-lib-2.2.2-jdk15.jar
json-lib-2.4-jdk15所需全部JAR包,资源清单 json-lib-2.4-jdk15.jar 依赖: ezmorph-1.0.6.jar commons-beanutils-1.8.3.jar commons-lang-2.5.jar morph-1.1.1.jar commons-logging-1.1.1.jar commons-collections-...
json-lib-2.4-jdk15-sources.jar 是net.sf.json-lib-jdk15-2.4的源码文件
json-lib-2.4-jdk15依赖的库文件: 压缩包内容: commons-beanutils-1.8.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15-javadoc.jar ...
json-lib-1.1-jdk13-javadoc,欢迎下载。
json-lib-2.2.3-jdk13.jar commons-beanutils-1.7.0.jar commons-collections-3.2.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar
使用json-lib实现json与Java对象的互转
json-lib是java工程中常用到的json解析工具,使用简单灵活,本压缩包中包括的文件有(使用json-lib必备的jar包): commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-...
json的核心包:json-lib-2.4-jdk15.jar;json-2.4所依赖的jar包:commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.5.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar;以及和...
json是一种与开发语言无关的、轻量级的数据格式。全程Javascrpt Object Notion
Json-lib是一个java类库,它用于把beans, maps, collections, java arrays and XML 传递给一个Json,或者返回来把Json来传递beans, maps, collections, java arrays and XML ,说白了就是用于处理JSON数据的,包括...
在web项目中经常会用到json数据(如...json-lib-2.4-jdk15.jar json所依赖的jar如下: commons-beanutils-1.8.0.jar commons-collections-3.2.1.jar commons-lang-3.7.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar