如何在Java中使用JSON

  • Post author:
  • Post category:java




1.JSON依赖的jar包

在Java中使用json需要引入以下六个jar包,分别为:


json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

commons-lang-2.6.jar

commons-collections-3.2.2.jar

commons-beanutils-1.9.4.jar

commons-logging-1.2.jar

以上的版本号仅供参考,自行下载的可以有所不同。



2.下载地址

下载地址如下:

  • json-lib-2.4-jdk15.jar


https://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/

  • ezmorph-1.0.6.jar


http://ezmorph.sourceforge.net/



http://morph.sourceforge.net/

  • commons-lang-2.6.jar


http://commons.apache.org/lang/download_lang.cgi

  • commons-collections-3.2.2.jar


http://commons.apache.org/collections/download_collections.cgi

  • commons-beanutils-1.9.4.jar


http://commons.apache.org/beanutils/download_beanutils.cgi

  • commons-logging-1.2.jar


http://commons.apache.org/logging/download_logging.cgi



3.下载方法

关于下载四个commons包的提示

进到下载官网,我们可以看到,这里有两个不同的下载地方,

分别是

Apache Commons Lang 3.12.0(Java8+)

Apache Commons Lang 2.6 (Requires Java 1.2 or later)

在这里插入图片描述

我们需要选择第二个,然后下载Binaries中的第二个压缩包

在这里插入图片描述

下载好压缩包后就可以进行解压了,解压目录如下,我们只需要吧commons-lang-2.6.jar复制出来就可以了。

在这里插入图片描述

剩下的三个commons的包同上操作。

最后把六个jar包整理到一个文件夹里存放好,这样我们就拥有了一个完整的JSON库了,后面开发的时候直接把这六个包放到库中就可以使用JSON了。

在这里插入图片描述



4.遇到的报错

如果jar包没下载完整或者下载错了就会遇到一些报错,大多都是提示找不到某个类。

如果缺少任何一个包,一般都会报:NoClassDefFoundError

无 json-lib-2.4-jdk15.jar


java.lang.NoClassDefFoundError:java.lang.NoClassDefFoundError: net/sf/json/JSONObject

无ezmorph-1.0.6.jar


java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher

无commons-lang-2.6.jar


java.lang.NoClassDefFoundError:org/apache/commons/collections/map/ListOrderedMap commons-lang-2.5.jar

无commons-collections-3.2.2.jar


java.lang.NoClassDefFoundError:org/apache/commons/collections/map/ListOrderedMap

无commons-beanutils-1.9.4.jar


java.lang.NoClassDefFoundError:org/apache/commons/beanutils/DynaBean

无commons-logging-1.2.jar


java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

还有一种情况是下载错了包,在下载方法中第一个与第二个的区别在于里面的包名不同,这个会导致类加载器无法加载到相关的类,然后也会报出加载器无法找到类的错误。

对比图如下:

在这里插入图片描述

第一个与第二个包名的区别在于多了个3字,其余三个commons包也是类似的,新版本的commons包名都是改过了的。



5.使用方法


在IDEA中


一般在web开发中使用JSON作为数据传输格式

我们把JSON的包放到如下所示位置:

在这里插入图片描述

这里的lib装的是整项目所用到的库文件。


在Android Studio中

先把目录结构切换到Project,因为在这个目录下可以看见libs目录

在这里插入图片描述

同样,把JSON的包复制进去就可以了

在这里插入图片描述



版权声明:本文为Q1368089323原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。