如何在Java中使用JSON

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的包复制进去就可以了
在这里插入图片描述

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java使用JSON,我们通常需要引入一个JSON库,例如Google的Gson库或者阿里巴巴的Fastjson库。以下是使用Gson库解析JSON字符串的示例代码: ```java import com.google.gson.Gson; public class JsonExample { public static void main(String[] args) { String jsonStr = "{\"name\":\"张三\",\"age\":20,\"gender\":\"男\"}"; Gson gson = new Gson(); User user = gson.fromJson(jsonStr, User.class); System.out.println(user.getName()); // 输出“张三” System.out.println(user.getAge()); // 输出“20” System.out.println(user.getGender()); // 输出“男” } } class User { private String name; private int age; private String gender; // getter和setter方法省略 } ``` 以上代码,我们定义了一个User类,用于存储从JSON字符串解析出的数据。我们使用Gson库的`fromJson()`方法将JSON字符串转换为Java对象。需要注意的是,我们需要指定目标对象的类型,这里使用`User.class`表示将JSON字符串转换为User对象。之后,我们就可以通过User对象的getter方法获取解析后的数据了。 当然,我们也可以使用Gson库将Java对象转换为JSON字符串,例如: ```java User user = new User(); user.setName("李四"); user.setAge(25); user.setGender("女"); Gson gson = new Gson(); String jsonStr = gson.toJson(user); System.out.println(jsonStr); // 输出“{"name":"李四","age":25,"gender":"女"}” ``` 以上代码,我们定义了一个User对象,并使用Gson库的`toJson()`方法将其转换为JSON字符串。需要注意的是,我们在User类定义了getter和setter方法,以便Gson库能够正确地访问和修改对象的属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值