Java Spring批处理-从读卡器中删除某些类型的行&;JSON解析
我在这里试图做的只是读取/解析文件的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:
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,然后在预处理器中删除该行。