Google GSON 基础教程 - Gson 最简代码
从一个 Java 对象生成 JSON 字符串,需要几个步骤几行代码?
如果你 百度一下 或者 谷歌一下 ,如果你访问的是国内的教程,那么,绝对会告诉你,需要三行,如果加上 import
语句,那么至少需要五行
import com.google.gson.Gson; import com.google.gson.GsonBuilder; GsonBuilder builder = new GsonBuilder(); Gson gson = builder.create(); String rs = gson.toJson(hello);
有些比较好的教程,还会解释一下 GsonBuilder builder = new GsonBuilder();
这行代码是做什么用的,那些直接吵来吵去的文章,则连这一点都忽略了。
而事实上,从一个 Java 对象生成 JSON 字符串只需要简单的两个步骤,从某些方面说,也是简单的两行代码
-
实例化一个
Gson
对象Gson gson = new Gson();
-
调用
gson.toJson()
方法从一个 Java 对象生成 JSON 字符串String rs = gson.toJson(hello);
所以,加上 import
语句,其实只要简单的三行代码就可以从一个 Java 对象生成 JSON 字符串
import com.google.gson.Gson; Gson gson = new Gson(); String rs = gson.toJson(hello);
是的,就这么简单....
这个,也是你从上一章节看到的 Hello World 中的代码,这就是 Google GSON 最为简单的,也最为简介的使用方式。
最为简洁的 Gson 生成 JSON 字符串的代码
经过前面的解析,我们知道,如果没有什么特殊的定制,并不需要 GsonBuilder
先创建一个 GSON 构建器,而是可以直接生成 Gson
对象
因此,最为简单的生成 JSON 字符串的代码如下
package cn.twle.gson; import com.google.gson.Gson; class Greeting { public String msg; } public class App { public String getGreeting() { return "Hello world."; } public static void main(String[] args) { Greeting hello = new Greeting(); hello.msg = "Hello Google GSON"; Gson gson = new Gson(); String rs = gson.toJson(hello); System.out.println(rs); } }
使用 gradle run
命令输出的结果如下
gradle run > Task :run {"msg":"Hello Google GSON"} BUILD SUCCESSFUL in 0s 2 actionable tasks: 2 executed
最为简洁的 Gson 从 JSON 字符串生成 Java 对象的代码
既然生成 JSON 的代码如此简洁,那么从 JSON 字符串生成 Java 对象的代码也相应的简洁,这是我们所选择 Google 出品的原因。
事实也是如此,从一个 JSON 字符串生成一个 Java 对象的也只需要简单的两个步骤,从某些方面说,也是简单的两行代码
-
实例化一个
Gson
对象Gson gson = new Gson();
-
调用
gson.fromJson()
方法从 JSON 字符串生成 Java 对象Greeting hello = gson.fromJson(jsonString, Greeting.class);
所以,加上 import
语句,其实只要简单的三行代码就可以从 JSON 字符串生成 Java 对象
/* * This Java source file was generated by the Gradle 'init' task. */ package cn.twle.gson; import com.google.gson.Gson; class Greeting { public String msg; } public class App { public String getGreeting() { return "Hello world."; } public static void main(String[] args) { String jsonString = "{\"msg\":\"Hello Google GSON\"}"; Gson gson = new Gson(); Greeting hello = gson.fromJson(jsonString, Greeting.class); System.out.println(hello.msg); } }
使用 gradle run
命令的运行结果如下
gradle run > Task :run Hello Google GSON BUILD SUCCESSFUL in 0s 2 actionable tasks: 2 executed
是不是很简单?
关于 Gson
类、toJson()
方法 和 fromJson()
方法,我们会在后面的章节中详细介绍