SpringBoot读取json文件
在Spring Boot中,你可以使用@Value
注解来加载JSON文件,并使用ResourceLoader
来读取文件内容。以下是一个简单的例子:
首先,在application.properties
或application.yml
中指定JSON文件路径:
json.file=classpath:data.json
然后,在你的Spring Boot应用中,你可以使用@Value
注解来注入文件资源,并使用ObjectMapper
来解析JSON文件:
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.Map;
@Service
public class JsonFileService {
@Value("${json.file}")
private Resource jsonFile;
private final ObjectMapper objectMapper = new ObjectMapper();
public Map<String, Object> readJsonFile() throws IOException {
return objectMapper.readValue(jsonFile.getInputStream(), Map.class);
}
}
确保你的Spring Boot项目中包含了jackson-databind
依赖,这样才能使用ObjectMapper
:
<!-- 在pom.xml中添加Jackson依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>你的版本号</version>
</dependency>
最后,你可以在你的Controller或者Service中调用JsonFileService
的readJsonFile
方法来读取JSON文件:
@RestController
public class JsonController {
private final JsonFileService jsonFileService;
public JsonController(JsonFileService jsonFileService) {
this.jsonFileService = jsonFileService;
}
@GetMapping("/json")
public Map<String, Object> readJson() throws IOException {
return jsonFileService.readJsonFile();
}
}
确保你的JSON文件(例如data.json
)位于类路径的根目录下。当你访问/json
端点时,它会返回JSON文件内容。
评论已关闭