【发布时间】:2016-04-22 22:05:57
【问题描述】:
我有一个非常大的 JSON 文件(大约 1 GB),我想解析它。
我尝试了 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"],}}
]
我希望能够逐行阅读。我可能可以单独解析每一行,但在你阅读时我想可能有一些东西需要解析。
【问题讨论】:
-
即使这是一个非常古老的问题检查stackoverflow.com/questions/19522919/…
标签: groovy