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

Spring Batch:如何设置FlatFileItemReader来读取json文件?

皮献
2023-03-14

到目前为止,我的方法是:

@Bean
FlatFileItemReader<Blub> flatFileItemReader() {
    FlatFileItemReader<Blub> reader = new FlatFileItemReader<>();

    reader.setResource(new FileSystemResource("test.json"));

    JsonLineMapper lineMapper = new JsonLineMapper();

    reader.setLineMapper(lineMapper);

    return reader;
}

挑战是:reader.setLineMapper()不能使用JSONLineMapper。如何正确使用JsonLineMapper

共有1个答案

万俟棋
2023-03-14

创建类BlubJsonLineMapper

public class BlubJsonLineMapper implements LineMapper<Blub> {

    private ObjectMapper mapper = new ObjectMapper();


    /**
     * Interpret the line as a Json object and create a Blub Entity from it.
     * 
     * @see LineMapper#mapLine(String, int)
     */
    @Override
    public Blub mapLine(String line, int lineNumber) throws Exception {
        return mapper.readValue(line, Blub.class);
    }

}

然后可以在FlatFileItemReader中设置

@Bean
FlatFileItemReader<Blub> flatFileItemReader() {
    FlatFileItemReader<Blub> reader = new FlatFileItemReader<>();

    reader.setResource(new FileSystemResource("test.json"));

    BlubJsonLineMapper lineMapper = new BlubJsonLineMapper();

    reader.setLineMapper(lineMapper);

    return reader;
}
 类似资料:
  • 我正在编写spring批处理,它从平面文件中读取数据,很少进行处理,并将摘要写入输出文件。与reader相比,我的处理器和写入程序相对更快。我正在使用FlatFileItemReader,并尝试了从50-1000开始的各种提交间隔。我的批处理作业必须以更快的速度处理1000万条记录。请告诉我如何提高FlatFileItemReader的速度。粘贴到我的配置文件和映射器类下面,读取字段集并将值设置为

  • 你还有更多的办法吗?我们可以使用vert.x配置模块吗? 除了json之外,有些类型文件需要用conf编写。例如YAML。 请告诉我如何使用Vert.x配置模块来获取信息,以及如何作为JSONObject使用。 谢了!

  • 我有一个“异常”的json文件。 像这样的文件体 我已经尝试了很多方法来导入这个到mongo通过pymongo,但我不能加载文件体与json加载器或bson加载器。我知道这不是一个普通的json或bson文件。 但我使用mongoimport将此文件成功导入mongodb。 有人知道如何解决这个问题并让它发挥作用吗?我怎么能导入这个文件到mongoDB使用pymongo?

  • 问题内容: 我在JMeter中将CSV格式用于数据文件。我们的副总裁希望将格式更改为JSON。如何从磁盘读取JSON文件? 问题答案: 您至少有2个选择: 使用HTTP请求采样器和协议,例如: JSON文件基本上是纯文本文件,因此您将能够使用JSON提取器或JSON路径提取器来解析JSON数据并将结果存储到JMeter变量中,以供以后重用 参考文献: 使用JSR223测试元素和Groovy语言。G

  • 我想使用KARATE框架的数据驱动特性动态地为JSON中的一些元素(从文件中读取)设置值。以下是更多的细节: 特性:从文件中读取json输入并迭代数据表值 背景: 附注:我尝试使用表方法调用其他特性文件。然而,我希望每个API保留一个特性文件,因此我想知道是否有任何可能的方式来实现上述方法

  • 虽然我知道最好的方法是使用去年夏天发布的闪亮的JSON item reader devs(link),但要将批处理版本更新到最新版本还不可行。这是唯一的限制。 到目前为止,我遵循了这个堆栈答案,但我不认为将作为使用是最佳策略!到目前为止,我只是用下面的代码来理解它: ...然后在项目处理器中简单地解析它,比如: Spring Batch:如何设置FlatItemFileReader以读取JSON文