Java使用GSON对JSON进行解析——IDEA引入jar包方式

GSON

GSON是Google公司开发的用于解析json的类库。可以很轻松地让程序员将java对象转换成JSON格式,或者将JSON格式的对象转换成Java对象。

使用方法很简单:

首先,需要将GSON类库的jar包引入到自己的IDE中,本教程使用IDEA为例子。

引入依赖即可,本次不引入依赖,学习一下IDEA怎么引入一个jar包。

1.下载GSON的jar包

GSON的github地址:https://github.com/google/gson/

GSON的下载地址:https://search.maven.org/artifact/com.google.code.gson/gson/2.8.6/jar

在下载地址页面中的右上角点击Downloads,并选择jar。

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第1张图片

等待下载完毕即可。

2.在IDEA中引入GSON的jar包

在IDEA中创建或者打开一个java项目。

然后右键选择自己的项目,选择New,选择Directory。

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第2张图片

创建完这个文件夹,给它命名为“lib”。

img

然后将刚刚下载好的jar包移动到lib文件夹中。

img

然后选择File,选择Project Structure。

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第3张图片

弹出的窗口中选择Libraries,选择“+”,选择Java

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第4张图片

然后找到并选择之前创建好的lib文件夹,选择OK

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第5张图片

这里选择Cancel

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第6张图片

可以看到lib文件夹被添加了进来。

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第7张图片

然后选择左边菜单中的Modules,选择Dependencies分页,选择“+”,选择Library…

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第8张图片

选择lib,然后Add Selected

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第9张图片

然后选择OK

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第10张图片

至此jar包的引用就完成了。

3.测试是否引入成功

创建一个主类,并添加这个包:“com.google.gson.Gson”。如果没有报错,那么就说明引入成功了。

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第11张图片

4.使用Gson解析JSON字符串

现在准备工作就已经做完了,接下来是如果使用Gson。

对象 -> JSON字符串

如果想将java对象转换为JSON格式,需要使用Gson对象的toJson方法,方法参数传入需要转换的对象,就会返回字符串形式的JSON。

例如:

public class Main {
    public static void main(String[] args) throws IOException{
 
        //创建一个Person对象
        Person p1 = new Person("小明", 20);
        //创建匿名的Gson对象,并调用toJson方法,传入的参数是想要转换的对象,返回值是转化完毕的json格式字符串。
        String json = new Gson().toJson(p1);
        //打印字符串
        System.out.println(json);
 
    }
}

运行结果:

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第12张图片

JSON字符串 -> 对象

如果想将JSON字符串转换成java对象,也就是和刚才相反。操作类似,需要使用Gson对象的fromJson的方法,参数1传入需要转换的字符串,参数2传入对象的类型(类名.class)。

public class Main {
    public static void main(String[] args) throws IOException{
 
//      如果需要转换:  {"name":"小明","age":20}
        Person p = new Gson().fromJson("{\"name\":\"小明\",\"age\":20}", Person.class);
        System.out.println(p.getName());
        System.out.println(p.getAge());
 
    }
}

运行结果:

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第13张图片

另外也可以将Json字符串转换为Map集合,这样就不必为了接受一个JSON对象而写一个类。

例如:

public class Main {    public static void main(String[] args) throws IOException{ //      如果需要转换:  {"name":"小明","age":20}        HashMap map = new Gson().fromJson("{\"name\":\"小明\",\"age\":20}", HashMap.class);        System.out.println("姓名:" + map.get("name"));        System.out.println("年龄:" + map.get("age"));     }}

运行结果:

Java使用GSON对JSON进行解析——IDEA引入jar包方式_第14张图片

你可能感兴趣的:(GSON,Java细节,java,jar)