gson 写数据到文件 和gson 读取文件
时间: 2024-08-14 17:09:24 浏览: 34
Gson 是 Google 提供的一个 Java 库,用于在 Java 对象和 JSON 数据之间进行转换。当你需要将 Java 对象序列化为 JSON 字符串并写入文件,或者从 JSON 文件反序列化回 Java 对象时,Gson 非常有用。
**将 Java 对象写入 JSON 文件(Gson 编码):**
```java
import com.google.gson.Gson;
import java.io.FileWriter;
import java.io.IOException;
public class WriteToJsonFile {
public static void main(String[] args) {
// 创建一个 Person 对象
Person person = new Person("John", 30);
// Gson 实例
Gson gson = new Gson();
// 将对象转换为 JSON 字符串
String json = gson.toJson(person);
try {
// 写入文件
FileWriter writer = new FileWriter("person.json");
writer.write(json);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
// getters and setters...
}
```
**从 JSON 文件读取数据(Gson 解码):**
```java
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFromJsonFile {
public static void main(String[] args) {
try {
// 读取文件
BufferedReader reader = new BufferedReader(new FileReader("person.json"));
String line = reader.readLine(); // 假设第一行是 JSON
// Gson 实例
Gson gson = new Gson();
// 将 JSON 字符串转换回 Java 对象
Person person = gson.fromJson(line, Person.class);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
} catch (IOException e) {
e.printStackTrace();
}
}
}
```