Я получаю сообщение об ошибке при отмене сортировки файлов, которые содержат только один объект JSON: «IllegalStateException: входной поток Json должен начинаться с массива объектов Json». Я не могу найти никакого обходного пути и не понимаю, почемуэто должно быть так.
@Bean
public ItemReader<JsonHar> reader(@Value("file:${json.resources.path}/*.json") Resource[] resources) {
log.info("Processing JSON resources: {}", Arrays.toString(resources));
JsonItemReader<JsonHar> delegate = new JsonItemReaderBuilder<JsonHar>()
.jsonObjectReader(new JacksonJsonObjectReader<>(JsonHar.class))
.resource(resources[0]) //FIXME had to force this, but fails anyway because the file is "{...}" and not "[...]"
.name("jsonItemReader")
.build();
MultiResourceItemReader<JsonHar> reader = new MultiResourceItemReader<>();
reader.setDelegate(delegate);
reader.setResources(resources);
return reader;
}
Мне нужен способ разбить отдельные объектные файлы, какой смысл в форсировании массивов (которого у меня не будет в моем случае использования) ??