【问题标题】:Parse a huge JSON file解析一个巨大的 JSON 文件
【发布时间】: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"],}}
]

我希望能够逐行阅读。我可能可以单独解析每一行,但在你阅读时我想可能有一些东西需要解析。

【问题讨论】:

标签: groovy


【解决方案1】:

建议使用 Google 的 GSON。 这里有一个流式解析选项:https://sites.google.com/site/gson/streaming

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    • 2020-02-12
    • 2020-06-15
    • 1970-01-01
    • 2013-11-07
    • 2015-06-28
    相关资源
    最近更新 更多