簡體   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