繁体   English   中英

我正在尝试读取一个简单的 Json 文件,但我保存了一个 null。 我究竟做错了什么? 我的 json 仅包含 4 个字段

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM