[英]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.