文章目录

1. 将数据写入JSON文件2. 从JSON文件读取数据2.1 读取单个对象2.2 读取对象列表

1. 将数据写入JSON文件

要将数据写入JSON文件,可以使用Spring Boot中提供的Jackson库。Jackson库是处理JSON的Java库,可以轻松地将对象转换为JSON字符串,并将其写入文件。

首先,确保你的Spring Boot项目中已经引入了Jackson库的依赖。在pom.xml文件中添加以下依赖:

com.fasterxml.jackson.core

jackson-databind

接下来,创建一个包含数据的Java对象。这个对象将被转换为JSON格式并写入文件。假设你有一个Person类,表示一个人的信息:

public class Person {

private String name;

private int age;

// 构造函数、getter和setter等方法

// 省略其他代码

}

现在,可以使用ObjectMapper类将对象转换为JSON字符串,并将其写入文件。

示例代码:

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;

import java.io.IOException;

public class JsonFileWriter {

public void writeJsonToFile(Person person) {

ObjectMapper objectMapper = new ObjectMapper();

try {

objectMapper.writeValue(new File("person.json"), person);

System.out.println("JSON文件写入成功!");

} catch (IOException e) {

System.out.println("JSON文件写入失败:" + e.getMessage());

}

}

}

在上面的示例中,ObjectMapper类的writeValue()方法接受两个参数:文件对象和要写入文件的对象。在这个例子中,我们将person对象写入名为person.json的文件中。

调用writeJsonToFile()方法将触发写入操作:

Person person = new Person();

person.setName("Alice");

person.setAge(25);

JsonFileWriter jsonFileWriter = new JsonFileWriter();

jsonFileWriter.writeJsonToFile(person);

执行上述代码后,会在项目根目录下生成一个名为person.json的文件,内容如下:

{"name":"Alice","age":25}

这就是将数据写入JSON文件的简单示例。可以根据自己的需要进行扩展和调整。

2. 从JSON文件读取数据

2.1 读取单个对象

可以使用ObjectMapper类来读取JSON文件并将其转换为Java对象。

示例代码:

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;

import java.io.IOException;

public class JsonFileReader {

public Person readJsonFromFile() {

ObjectMapper objectMapper = new ObjectMapper();

try {

Person person = objectMapper.readValue(new File("person.json"), Person.class);

System.out.println("JSON文件读取成功!");

return person;

} catch (IOException e) {

System.out.println("JSON文件读取失败:" + e.getMessage());

return null;

}

}

}

在上述示例中,ObjectMapper类的readValue()方法接受两个参数:文件对象和要将JSON数据转换为的对象类型。在这个例子中,我们将JSON文件person.json读取并将其转换为Person对象。

调用readJsonFromFile()方法将触发读取操作:

JsonFileReader jsonFileReader = new JsonFileReader();

Person person = jsonFileReader.readJsonFromFile();

if (person != null) {

System.out.println("姓名:" + person.getName());

System.out.println("年龄:" + person.getAge());

}

执行上述代码后,将从person.json文件中读取数据并将其打印到控制台:

姓名:Alice

年龄:25

2.2 读取对象列表

假设你有一个JSON文件名为data.json,其中包含了一个对象列表,如下所示:

[

{"name": "Alice", "age": 25},

{"name": "Bob", "age": 30},

{"name": "Charlie", "age": 35}

]

可以使用ObjectMapper类来读取JSON文件并将其转换为对象列表。

示例代码:

import com.fasterxml.jackson.core.type.TypeReference;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;

import java.io.IOException;

import java.util.List;

public class JsonFileReader {

public List readJsonFromFile() {

ObjectMapper objectMapper = new ObjectMapper();

try {

File file = new File("data.json");

List personList = objectMapper.readValue(file, new TypeReference>() {});

System.out.println("JSON文件读取成功!");

return personList;

} catch (IOException e) {

System.out.println("JSON文件读取失败:" + e.getMessage());

return null;

}

}

}

在上述示例中,ObjectMapper类的readValue()方法接受两个参数:JSON文件对象和一个TypeReference对象,用于指定要转换的对象类型。在这个例子中,我们将JSON文件转换为List对象。

调用readJsonFromFile()方法将触发读取操作:

JsonFileReader jsonFileReader = new JsonFileReader();

List personList = jsonFileReader.readJsonFromFile();

if (personList != null) {

for (Person person : personList) {

System.out.println("姓名:" + person.getName());

System.out.println("年龄:" + person.getAge());

}

}

执行上述代码后,将从data.json文件中读取列表数据,并将每个人的姓名和年龄打印到控制台。

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: