2016-04-22 354 views
1

我有一個非常大的JSON文件(約一千兆字節),我想解析。解析一個巨大的JSON文件

我試過JsonSlurper,但它看起來像試圖將整個文件加載到內存中,導致內存異常。

下面是一段代碼,我有:

def parser = new JsonSlurper().setType(JsonParserType.CHARACTER_SOURCE); 
def result = parser.parse(new File("equity_listing_full_201604160411.json")) 

result.each{ 
println it.Listing.ID 
} 

和JSON是這樣的,但多少有更多的行和列

[ 
{"Listing": {"ID":"2013056","VERSION":"20160229:053120:000","NAME":"XXXXXX","C_ID":["1927445"],}}, 
{"Listing": {"ID":"2013057","VERSION":"20160229:053120:000","NAME":"XXXXXX","C_ID":["1927446"],}}, 
{"Listing": {"ID":"2013058","VERSION":"20160229:053120:000","NAME":"XXXXXX","C_ID":["1927447"],}} 
] 

我希望能夠閱讀它排更長按行。我大概可以分別解析每一行,但是認爲在閱讀時可能會有解析的內容。

+0

即使這是一個非常古老的問題檢查http://stackoverflow.com/questions/19522919/reading-json-object-from-txt-file-in-groovy –

回答