[英]I'm trying to read a simple Json file but im getting saved a null. What am i doing wrong? My json contains only 4 fields
我试图通过使用下面的代码使用 jackson 映射器编写一个 micrservice 来读取 json
@Bean
CommandLineRunner runner(ResponseService responseService) {
return args -> {
// read JSON and load json
ObjectMapper mapper = new ObjectMapper();
TypeReference<List<Response>> typeReference1 = new TypeReference<List<Response>>() {};
InputStream inputStream1 = TypeReference.class.getResourceAsStream("/json/response.json");
try {
List<Response> responses = mapper.readValue(inputStream1, typeReference1);
responseService.save(responses);
System.out.println(responses);
System.out.println("response saved");
} catch (IOException e) {
System.out.println("not saved" + e.getMessage());
}
};
}
@Service
public class ResponseService {
private ResponseRepository responseRepository;
public ResponseService(ResponseRepository responseRepository) {
this.responseRepository = responseRepository;
}
public Iterable<Response> list() { return responseRepository.findAll();
}
public void save(List<Response> users) {
responseRepository.saveAll(users);
}
}
正如您在评论中所说,您的路径是:
C:\Users\Desktop\spring-boot-jsontodb-master\src\main\resources\json\response.json
因此,您应该使用: json/response.json
而不是"/json/response.json"
InputStream inputStream1 = TypeReference.class.getResourceAsStream("json/response.json");
只需删除第一个斜杠。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.