Google GSON 基础教程 - Hello World

有时候我也很无奈,为什么 IT 技术的任何教程,或者任何工具,首先要做的,就是输出 Hello World。 我不止一次问过自己这个傻逼的问题,也在一次一次的从别人的教程中一遍又一遍的输出 Hello World

直到有一天,我被一个巨型的项目难住了,这是别人写的,离职后我接手维护的项目。

光是环境配置,就耗费了一天,还没解决。也就是说,在那个项目中,我连输出 Hello World 项目的机会都没有。

本文,并不是一个正常的标准的规范的 Hello World。 如果你使用任何 Java IDE,比如 Android Studio 或者 IDEA 全称 ( IntelliJ IDEA) 或者 Eclipse ,那么写一个 Google GSON 远远比这个本文简单。

作为基础项目,本系列教程所有接下来的项目都会以本文为基础创建

Gradle + Sublime Text 3 + Google GSON 项目

在本站的所有教程中,我不止一次提到作者我使用的编辑器是 Sublime Text 3 ,因此我的 Hello Google GSON 项目就要自己手动生成了。

在我们继续之前,我们假设你已经正确安装了 Java 环境和 Gradle 构建工具

  1. 创建项目目录 HelloGSON

    在你的项目目录下新建一个目录 HelloGSON ,用于保存所有 Hello Google GSON 项目文件

    mkdir HelloGSON
    cd HelloGSON
    
  2. 进入到 HelloGSON 目录后,我们使用 gradle init 命令来创建项目

    gradle init
    

    输入命令然后按下回车键后,会弹出项目类型选择

    Select type of project to generate:
        1: basic
        2: groovy-application
        3: groovy-library
        4: java-application
        5: java-library
        6: kotlin-application
        7: kotlin-library
        8: scala-library
    

    Enter selection (default: basic) [1..8]

  3. 因为我们需要一个完整的 Java 应用程序,所以,输入 4 然后按回车键

    然后会弹出 gradle 配置语言选择

    Select build script DSL:
      1: groovy
      2: kotlin
    Enter selection (default: groovy) [1..2]
    

    如果你对 kotlin 语言熟悉,可以输入 2 ,因为作者对 groovy 的配置语言比较熟悉,所以直接按下回车了

  4. 然后弹出的是测试框架选择,我们的教程,并不是一个什么大型的目录,所以直接回车即可

    Select test framework:
      1: junit
      2: testng
      3: spock
    Enter selection (default: junit) [1..3]
    
  5. 接下来弹出的是项目的名字,这个直接回车就好,也就是项目名字和目录名字是一样的

    Project name (default: HelloGSON):
    
  6. 接下来的项目的包名,默认的包名太傻了,我们就输入 cn.twle.json 作为包名吧

    Source package (default: HelloGSON): cn.twle.gson
    
  7. 按下回车后,项目就构建完成了

    BUILD SUCCESSFUL in 7m 20s
    2 actionable tasks: 2 executed
    

项目结构

经过简单几个步骤,我们的 HelloGSON 项目就创建完成了,完整的目录结构如下

tree .
.
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    ├── main
    │   ├── java
    │   │   └── cn
    │   │       └── twle
    │   │           └── gson
    │   │               └── App.java
    │   └── resources
    └── test
        ├── java
        │   └── cn
        │       └── twle
        │           └── gson
        │               └── AppTest.java
        └── resources

15 directories, 8 files

我们可以打开 App.java 文件,看看内容如何

/*
 * This Java source file was generated by the Gradle 'init' task.
 */
package cn.twle.gson;

public class App {
    public String getGreeting() {
        return "Hello world.";
    }

    public static void main(String[] args) {
        System.out.println(new App().getGreeting());
    }
}

运行项目

这个默认的项目是可以运行的,我们可以直接输入 gradle run 命令来运行

gradle run

> Task :run
Hello world.

BUILD SUCCESSFUL in 0s
2 actionable tasks: 2 executed

通过结果中的 Hello World 可以看到,项目运行正常

添加 Google GSON 类库

打开 build.gradle 文件,内容如下

plugins {
    id 'java'
    id 'application'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'com.google.guava:guava:26.0-jre'
    testImplementation 'junit:junit:4.12'
}

mainClassName = 'cn.twle.gson.App'

为了节省空间,注释被我删了

然后在 dependencies 节点里的添加 Google GSON,添加完成后,内容如下

plugins {
    id 'java'
    id 'application'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'com.google.guava:guava:26.0-jre'
    implementation 'com.google.code.gson:gson:2.8.5'
    testImplementation 'junit:junit:4.12'
}

mainClassName = 'cn.twle.gson.App'

然后运行 gradle build 构建项目,这个动作会自动下载 Google GSON

编辑 App.java 文件完善 Hello Google GSON

打开我们的 App.java 文件

  1. 首先,创建一个 Java 对象

    为了简单起见,我们并不遵循标准的 JavaBean 或 POJO 的类创建,而是直接把公开属性

    class Greeting {
        public String msg;
    }
    
  2. 其次,导入 Google GSON 生成和解析 JSON 所需要的类

    import com.google.gson.Gson;
    
  3. 然后,在 main 方法中实例化一个 Greeting 对象

    Greeting hello = new Greeting();
    hello.msg = "Hello Google GSON";
    
  4. 接着,实例化一个 Gson 对象

    Gson gson = new Gson();
    
  5. 最后,调用 gson 对象的 toJson() 方法将 Java 对象 hello 生成为 JSON 字符串

    String rs = gson.toJson(hello);
    
  6. 最后把结果输出到屏幕

    System.out.println(rs);
    

完成上面这些步骤后,完整的 App.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) {

        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

可以看到,正确的输出了我们想要的 JSON 字符串

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

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

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