当前位置: 首页 > 知识库问答 >
问题:

我试图读取一个简单的Json文件,但我被保存为空。我做错了什么?我的json只包含4个字段

宇文鸣
2023-03-14

我试图编写一个micrservice来使用jackson映射器读取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);
    }
}

共有1个答案

长孙鸿
2023-03-14

正如您在评论中所说,您的路径是:

C:\Users\Desktop\spring-boot-jsontodb-master\src\main\resources\jsos\response.json

因此,您应该使用“/json/response.json”而不是“/json/response.json

InputStream inputStream1 = TypeReference.class.getResourceAsStream("json/response.json");

删除第一个斜杠就行了。

 类似资料:
  • 我有一个要打印的值列表,并将每个打印保存为单独的文件。我创建了一个for循环,它可以很好地在IDE中显示绘图,但当我试图将它们保存在单独的文件中时,我会遇到这样的情况:第一个创建的png文件会随着每次迭代而被覆盖,而不是创建新文件。 这是我的循环 我添加奇怪的“y”值的原因是名称中包含斜杠,所以程序“认为”它是不同的文件夹。所以基本上我想得到plot1。png,图2。翁。。。普洛顿。结果是巴布亚新

  • 我在discord中为我的机器人发出了afk命令。py,但是当我执行Afk命令时,ping代码时只有1个单词https://nekobin.com/sulotolise 形象

  • java.lang.IllegalStateException:未能加载ApplicationContext 原因:org . spring framework . beans . factory . unsatisfieddependencyexception:创建在URL[jar:file:/C:/Users/MDI vya/. m2/repository/io/spring fox/spri

  • 我正在做一个项目,我的意图是运行一个玉米作业,并发送邮件给我的朋友,祝他们生日,我能够从MySQL DB获取电子邮件,并将其与当前日期进行比较,但当涉及到发送电子邮件时,我得到NullPointerException。 我确信应用程序属性没有问题,我在其他项目中也使用了它们,它们的功能正常 这是我得到以下信息的错误

  • 问题内容: 我在asp.net项目的Content文件夹中有一个json文件: …以及访问它的代码: …但是调用代码时什么也没发生;浏览器控制台说:“无法加载资源:服务器响应状态为404(未找到)” 为什么找不到?“波浪号文件名”不是通往文件的正确路径吗? 更新 我还尝试了向后“重击”: …并且得到相同的结果(“ 无法加载资源:服务器以404(未找到)状态进行响应 ”) 更新2 然后,我尝试了这种

  • 我正在使用Reverfit2,我试图从我用Python制作的Web服务中请求一些数据。 实际上,它抛出了一个“java.lang.IllegalStateException”,但是当我调用GET方法时,API返回代码200,而且我还可以看到用于调试响应JSON的打印版本。问题是Call方法,因为它总是在failure时执行。 求求你,救命! 这是我的(简单的)Python Web服务,API-Pr