如何在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
(or)
Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
设置CLASSPATH变量
Manually:
OS | 输出 |
---|---|
Linux | export CLASSPATH=CLASSPATH:GSON_HOME/gson-2.8.6.jar:。 |
Windows | 设置环境变量CLASSPATH为%CLASSPATH%;%GSON_HOME%\gson-2.8.6.jar;:。 |
Mac | export CLASSPATH=CLASSPATH:GSON_HOME/gson-2.8.6.jar:。 |
在IDE的帮助下:。 在IntelliJ IDEA中。按照以下步骤进行
Steps: 在项目上点击右键 -> 打开模块设置 -> 库 -> 点击+ -> 添加GSON Jar -> 应用并确定
GSON申请
import java.io.*;
import java.util.List;
public class Staff {
private String name;
private int age;
private int salary;
private List<String> 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<String> getSkillSet() { return skillSet; }
public void setSkillSet(List<String> skillSet)
{
this.skillSet = skillSet;
}
}
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<String> 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"]}
启用pretty-print模式后。
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,但我们可以设置缩进以获得漂亮的打印效果。