【发布时间】:2021-03-20 13:28:25
【问题描述】:
我正在尝试使用以下代码编写一个 micrservice 以使用 jackson mapper 读取 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);
}
}
【问题讨论】:
-
很难从提供的类参考中回答。你可以检查这些: 第一:
"/json/response.json"这个文件路径好吗?第二:responseService.save(responses); System.out.println(responses);这输出响应了吗? -
1.我想这是我的路径 - C:\Users\Desktop\spring-boot-jsontodb-master\src\main\resources\json - response.json
-
2.是的,我得到的响应为 null
-
[ { "LOGADDR": "1000002624", "CATEGORY": "ADD", "NAME": "POLYTEC COMPOSITES GERMANY", "STATUS": "ACTI" }, { "LOGADDR": “1000002625”、“类别”:“添加”、“名称”:“德国 POLYTEC 复合材料”、“状态”:“ACTI”}]
标签: java json spring spring-boot