2013-03-04 88 views
2

我有一個以json格式寫入文件的序列化實體列表。 我需要使用spring batch從文件中讀取它們(然後處理它們並寫入數據庫)。如何用spring批解析json文件?

我發現只有與spring批次一起提供的平面文件,DB和Xml讀取器。 解析json的正確方法是什麼?

我要實現的方法是:

1. read the whole file with FlatFile reader 
2. parse it with Jaxson in `read` method 

我完全春批新手,所以我需要一個忠告這裏。這種方法是否正確?它不違反任何彈簧批次原則嗎?或者我應該使用另一個?

回答

0

您的方法可行,但我建議您使用Jackson Streaming API來直接解析JSON文件,而不是有額外的步驟來讀取整個文件,然後處理它。

JsonFactory jsonFactory = new JsonFactory(); 
JsonParser jp = jsonFactory.createJsonParser(file); 
+0

@Roman添加到這個答案,你真的不想因任何原因將整個文件讀入內存。 Benoit的方法更受歡迎,因爲它保持內存使用率低。隨着您對Spring Batch更加熟悉,您將能夠編寫自己的JSON ItemReader,甚至可以將其返回給項目。祝你好運。 – user2910265 2014-10-24 00:23:25