📜  如何在Java中安装 GSON 模块?

📅  最后修改于: 2022-05-13 01:54:51.358000             🧑  作者: Mango

如何在Java中安装 GSON 模块?

Google GSON 是一个简单的基于 Java 的序列化/反序列化库,用于将Java对象转换为其 JSON 表示形式。它还可用于将 JSON字符串转换为等效的Java对象。它是对Java标准库的可靠、快速和高效的扩展。它也是高度优化的。假设Java已安装在您的本地环境中。

为 Linux 设置路径

应正确设置环境变量PATH 。如果您在执行此操作时遇到问题,请参阅您的特定 shell 文档。例如:如果你使用bash作为你的 shell,那么你将在你的 '.bashrc' 文件的末尾添加以下内容:

export PATH=$PATH:/path/to/java

为 Windows 设置路径

假设您已在 C:\Program Files\ Java \jdk-directory 中正确安装Java

编辑“C:\autoexec.bat”文件并在末尾添加以下行:

SET PATH=%PATH%:C:\Program Files\java\jdk\bin

下载 GSON 存档

下载最新的 GSON 存档:https://search.maven.org/artifact/com.google.code.gson/gson/2.8.6/jar
(或者)
马文:


  com.google.code.gson
  gson
  2.8.6

设置 CLASSPATH 变量

手动:

OS

Output

Linuxexport CLASSPATH=$CLASSPATH:$GSON_HOME/gson-2.8.6.jar:.
Windows

Set the environment variable CLASSPATH to 

%CLASSPATH%;%GSON_HOME%\gson-2.8.6.jar;:;

Macexport CLASSPATH=$CLASSPATH:$GSON_HOME/gson-2.8.6.jar:.

在 IDE 的帮助下:在 IntelliJ IDEA 中:按照以下步骤操作

步骤:右键单击项目->打开模块设置->库->单击+->添加GSON Jar->应用并确定

GSON 应用程序

Java
import java.io.*;
import java.util.List;
  
public class Staff {
    private String name;
    private int age;
    private int salary;
    private List skillSet;
  
    public int getSalary() { return salary; }
  
    public void setSalary(int salary)
    {
        this.salary = salary;
    }
  
    public String getName() { return name; }
  
    public void setName(String name) { this.name = name; }
  
    public int getAge() { return age; }
  
    public void setAge(int age) { this.age = age; }
  
    public List getSkillSet() { return skillSet; }
  
    public void setSkillSet(List skillSet)
    {
        this.skillSet = skillSet;
    }
}


Java
import com.google.gson.Gson;
import java.io.*;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
  
public class GSONExample {
    public static void main(String[] args)
    {
        Gson gson = new Gson();
  
        Staff staff = createStaffObj(
            "Anurag", 18, 100,
            Arrays.asList("DevOps", "Machine Learning",
                          "Open Source"));
  
        // Java Object to String
        String json = gson.toJson(staff);
  
        // Java Object to a file
        try (FileWriter writer = new FileWriter(
                 "/home/anurag/gsonexample.txt")) {
            gson.toJson(staff, writer);
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }
  
    public static Staff
    createStaffObj(String name, int age, int salary,
                   List skillSet)
    {
        Staff staff = new Staff();
        staff.setName(name);
        staff.setAge(age);
        staff.setSalary(salary);
        staff.setSkillSet(skillSet);
        return staff;
    }
}


默认情况下,GSON 以紧凑模式写入 JSON。

{"name":"Anurag","age":18,"salary":100,"skillSet":["DevOps","Machine Learning","Open Source"]}

启用漂亮打印模式后:

import com.google.gson.GsonBuilder;

import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;

public class GSONExample {
    public static void main(String[] args) {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        ...
        ...
        ...
        }
 }
{
  "name": "Anurag",
  "age": 18,
  "salary": 100,
  "skillSet": [
    "DevOps",
    "Machine Learning",
    "Open Source"
  ]
}

将Java对象转换为 JSON 比使用 Gson 流 API 解析相对容易。默认情况下,JSONWriter 以紧凑的形式编写 JSON,但我们可以设置缩进以进行漂亮的打印。