Java Spring批处理-从读卡器中删除某些类型的行&;JSON解析

Java Spring批处理-从读卡器中删除某些类型的行&;JSON解析,java,json,spring,Java,Json,Spring,我在这里试图做的只是读取/解析文件的JSON部分,其结构如下: From: blahblah:blahblah:3:120319123 2015-02-03 20:05:48.4070783443 +0000 UTC {"id":"daj;flkaj;dl", "body":"dafjelkaf", "morestuff": "flakejfl;ka}flkajfl;daf{fad"} From: blahblah:blahblah:2:120319123 2016-04-03 20:05:

我在这里试图做的只是读取/解析文件的JSON部分,其结构如下:

From: blahblah:blahblah:3:120319123
2015-02-03 20:05:48.4070783443 +0000 UTC
{"id":"daj;flkaj;dl", "body":"dafjelkaf", "morestuff": 
"flakejfl;ka}flkajfl;daf{fad"}

From: blahblah:blahblah:2:120319123
2016-04-03 20:05:48.4070783443 +0000 UTC
{"id":"daj;flkaj;dl", "body":"dafjelkaf", "morestuff": 
"flakejfl;ka}flkajfl;daf{fad"}
我最初计划将FlatFileItemReader与JsonLineMapper一起使用,但首先需要在解析Json行之前丢弃无用的行


阅读时,如何跳过以
开头的行:
、日期行和空行?

扩展FlatFileItemReader并调用

setRecordSeparatorPolicy(yourPolicyTOSkipLines);
其中,
YourPolicyToKiplines
是您自己实施的
SimpleRecordSeparatorPolicy

见空白行跳过代码


另一种稍显粗糙的方法是使用FlatFileItemReader的setComments()方法。该方法需要一个带有注释前缀的字符串数组。如果您将“From:”添加到该数组中,它将被跳过。

提示:使用
BufferedReader
逐行读取文件,然后检查行是否以
{
开头,然后将其读入字符串,并找到以
}
结尾的行以结束json。如果您使用Java,为什么会标记此项?哇哦,这是对建议的错误单击。我的错,看起来它已经被纠正了。谢谢你指出这一点。:)这看起来正是我需要的,一旦有机会实施,我会接受答案。谢谢这起作用了。创建了一个自定义实现,如果行的开头不是以“{”开头,则该实现将在记录结尾返回false,然后在预处理器中删除该行。