json-lib包需要依赖的jar包
1.Json格式的引入
在Java中,一个对象(某个类的实体)表示如下:
public class User {
private Integer id; //唯一标识号id
private String name; //用户名称name
private Double score; //用户分数score
//构造函数
public User(Integer id, String name, Double score) {
this.id = id;
this.name = name;
this.score = score;
}
//get和set函数
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getScore() {
return score;
}
public void setScore(Double score) {
this.score = score;
}
}
//在Java中的表现形式
User user = new User(1,"张三",89.34);
而我们在某个网页(HTML)中,其存储方式并不是以上面那样的方式进行存储的,而是以Json格式进行存储的,如下:
var user = {
id:1,
name:"张三",
score:89.34
}
2.如何将Java中的对象转换为Json格式
在某些实际业务场景中,当我们需要利用Ajax进行异步请求时(如:从后端Servlet中传递某个对象至前端。比如在上面,假设需要将数据库中的某个user对象的信息传至前端界面),那么我们就需要利用某个函数(方法)来实现将某个对象转换为Json格式。
这个函数要我们自己写么?你可以试试。
就算你写出来了,那也仅仅是针对这一个类,假设你的项目中涉及到1000个类,难道你也要一个个的去实现么?
上面的两个反问句其实不是刁难你,而是想告诉你,这种具有泛化功能的(库)函数早就有人写好了,我们只需要导入使用就行了。
比如对于某个对象user,如果你需要将其转换为Json格式,只需要执行以下代码即可:
JSONObject jsonObject = JSONObject.fromObject(user);
这样你就成功地实现了将某个对象转换为Json格式(注:这个方法对任意对象都是如此)。
这时候肯定有人问了,那需要导入哪些具体的包呢?
实际上只需要导入一个包即可:json-lib-2.4-jdk15.jar
但是,由于json-lib-2.4-jdk15.jar这个包还需要以下依赖(版本不得低于以下列出的jar包):
commons-lang 2.5
commons-beanutils 1.8.0
commons-collections 3.2.1
commons-logging 1.1.1
ezmorph 1.0.6
因此,我们还需要额外导入这些包。
很多同学在做异步请求的实验或项目时,常常会报Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile的错,或者在实体对象转Json格式时失败而导致网页中出现500的错误代码,这都是因为没有正确导入包而导致的。
你只需要将上面的所有包都导入进自己的项目就不会再报这样的错了,下面给出下载链接:
3.下载链接
我已将上述列出的所有jar包(共6个)整理好(全是当前可用的最新版本:截至2020-5-25),下面给出两个下载链接:
- 有钱的大爷可用1C币在CSDN里下载: CSDN下载链接:json-lib-all(version-2020-5-25.zip)
- 红尘过客们可在百度网盘中免费下载:百度网盘下载链接:json-lib-all(version-2020-5-25.zip)(提取码是:3ipl)