Gson快速上手(这一篇就够了!!)

Gson快速上手(这一篇就够了!!)Gson 是目前功能最强的 JSON 解析器之一 并且不需要依赖额外的 Jar 包 能够直接运行在 JAVA 平台

大家好,欢迎来到IT知识分享网。

目录

1、Gson简介

2、Json简介

3、Gson快速上手

3.0、导入依赖

3.1、创建Gson对象

3.1.1   new Gson()

3.1.2   GsonBuilder.build()

3.2、对象—>Json

3.3、Json—>对象

3.4、List集合转换

3.4、Map集合转换

 4、结语


1、Gson简介

        Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,其主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象。

        Gson是目前功能最强的JSON解析器之一,并且不需要依赖额外的Jar包,能够直接运行在JAVA平台。相对于FastJson,更能准确的转换复杂的Bean。

        

Gson快速上手(这一篇就够了!!)

2、Json简介

        一般来说如果你要使用Gson,那么你肯定对json有所了解,为了防止意外,让我们再来讲解一下这个编程世界的交流货币——JSON数据。

Gson快速上手(这一篇就够了!!)

        JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有易读易写的特点,广泛应用于Web开发和数据传输领域。与 XML 相比,它不那么冗长且更具可读性,人类很容易读写,机器也很容易解析和生成。

        JSON起源于JavaScript语言,但已成为一种独立于编程语言的数据格式。它由键值对组成,类似于JavaScript中的对象,但更加简洁和通用化。JSON数据以文本形式存储,易于解析和生成,因此被广泛应用于数据交换和存储。

        JSON的数据由键值对组成,每个键值对之间用逗号分隔,{ }包裹表示一个对象,[ ]包裹表示一个数组,这是最基本的数据结构,了解这个基本上就差不多了。例如下面:

[ { "name": "Mike", "age": 30, "city": "New York" }, { "name": "Tom", "age": 18, "city": "Londom" } ]

 JSON的内容很简单,但作为一个编程世界里的货币,在数据传输过程中,如何对其进行转换是一个很普遍的问题。

3、Gson快速上手

3.0、导入依赖

目前最新版本是2.11.0,我们选择2.10.1版本,在pom文件中添加Maven的Gson依赖,我们前面提到过,Gson是不依赖其他Jar包的。

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.10.1</version> </dependency>

3.1、创建Gson对象

3.1.1   new Gson()
Gson gson = new Gson(); 
3.1.2   GsonBuilder.build()
GsonBuilder builder = new GsonBuilder(); Gson gson = builder.create();

3.2、对象—>Json

People P1=new People("菠萝吹雪",15,"黑龙江"); People P2=new People("橙留香",16,"上海"); Gson gson=new GsonBuilder() .setPrettyPrinting() .create(); String P11=gson.toJson(P1); String P21=gson.toJson(P2); System.out.println(P11); System.out.println(P21);

 注意:  .setPrettyPrinting() 方法是为了让 JSON格式输出的更美观,这也是Gson的一大优点。

控制台输出结果如下:

3.3、Json—>对象

 String jsonP1="{\n" + " \"name\": \"菠萝吹雪\",\n" + " \"age\": 15,\n" + " \"city\": \"黑龙江\"\n" + "}"; String jsonP2="{\n" + " \"name\": \"橙留香\",\n" + " \"age\": 16,\n" + " \"city\": \"上海\"\n" + "}"; Gson gson=new Gson(); People people1 = gson.fromJson(jsonP1, People.class); People people2 = gson.fromJson(jsonP2, People.class); System.out.println(people1); System.out.println(people2);

 控制台输入如下:

此时这里从JSON字符串转换成了对应的People对象 

3.4、List集合转换

  List与Json之间的互相转换:

 void test03(){ List<People> peopleList=new ArrayList<>(); peopleList.add(new People("菠萝吹雪",15,"黑龙江")); peopleList.add(new People("橙留香",16,"上海")); Gson gson=new GsonBuilder() .setPrettyPrinting() .create(); //将List转化为Json对象 String listjson = gson.toJson(peopleList); System.out.println(listjson); //将Json对象转化为List对象 List<People> PeopleList = gson.fromJson(listjson, new TypeToken<List<People>>() {}.getType()); System.out.println(PeopleList); }

 控制台输出如下:

3.4、Map集合转换

转换Map的步骤和转换List的步骤一模一样,代码如下:

 Map<String,People>map=new HashMap<>(); map.put("people1",new People("菠萝吹雪",15,"黑龙江")); map.put("people2",new People("橙留香",16,"上海")); Gson gson=new GsonBuilder() .setPrettyPrinting() .create(); String mapJson = gson.toJson(map); System.out.println(mapJson); Map<String,People>jsonMap = gson.fromJson(mapJson, new TypeToken<Map<String, People>>() {}.getType()); System.out.println(jsonMap);

 控制台输出如下:

 4、结语

OK这次到这里就结束了,想要了解更多可以访问官网https://github.com/google/gson。

下次再见!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121849.html

(0)
上一篇 2025-10-21 10:26
下一篇 2025-10-21 10:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信