如何在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 Set the environment variable CLASSPATH to %CLASSPATH%;%GSON_HOME%\gson-2.8.6.jar;:;Linux export CLASSPATH=$CLASSPATH:$GSON_HOME/gson-2.8.6.jar:. Windows Mac export 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,但我们可以设置缩进以进行漂亮的打印。