My approach so far:
@Bean
FlatFileItemReader flatFileItemReader() {
FlatFileItemReader reader = new FlatFileItemReader<>();
How to setup a FlatFileItemReader to read a json file?
It depends on the format of your json file:
For example:
{object1}
{object2}
then you have two options:
JsonLineMapper which returns a Map. In this case, your reader should also return Map and you can use an item processor to transform items from Map to Blub (BTW, transforming data from one type to another is a typical use case for an item processor)LineMapper based on Jackson or Gson or any other library (as shown in the answer by @clevertension)For example:
[
{object1},
{object2}
]
then you can use the new JsonItemReader that we introduced in version 4.1.0.M1 (See example in the blog post here: https://spring.io/blog/2018/05/31/spring-batch-4-1-0-m1-released#add-a-new-json-item-reader).
There are similar questions to this one, I'm adding them here for reference: