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 字符串只需要简单的两个步骤,从某些方面说,也是简单的两行代码

  1. 实例化一个 Gson 对象

    Gson gson = new Gson();
    
  2. 调用 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 对象的也只需要简单的两个步骤,从某些方面说,也是简单的两行代码

  1. 实例化一个 Gson 对象

    Gson gson = new Gson();
    
  2. 调用 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() 方法,我们会在后面的章节中详细介绍

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.