格式化大型JSON文件的最佳方法是什么? (~30 mb)

时间:2013-11-09 11:08:05

标签: json

我需要格式化一个大的JSON文件以便于阅读,但是我发现的每个资源(主要是在线)都没有处理1-2 MB以上的数据。我需要格式化大约30 MB。有没有办法做到这一点,或以任何方式编写代码来做到这一点?

3 个答案:

答案 0 :(得分:3)

使用python> = 2.6,您可以执行以下操作:

cat ugly.json | python -mjson.tool > pretty.json

答案 1 :(得分:2)

jsonpps 是唯一为我工作的(https://github.com/bazaarvoice/jsonpps)。
不会像jq,jsonpp和我尝试过的其他东西一样将所有内容加载到RAM。

关于安装和使用的一些有用提示:

下载网址: https://repo1.maven.org/maven2/com/bazaarvoice/jsonpps/jsonpps/1.1/jsonpps-1.1.jar

快捷方式(适用于Windows):

  1. 在具有以下内容的同一目录中创建文件 jsonpps.cmd
    @echo off java -Xms64m -Xmx64m -jar %~dp0\jsonpps-1.1.jar %*

快捷方式用法示例:

  1. 将stdin格式化为stdout:
    echo { "x": 1 } | jsonpps
  2. 将stdin格式化为文件
    echo { "x": 1 } | jsonpps -o output.json
  3. 将文件格式化为文件:
    jsonpps input.json -o output.json

答案 2 :(得分:1)

jq可以在几秒钟内格式化或美化〜100MB JSON文件:

jq '.' myLargeUnformattedFile.json > myLargeBeautifiedFile.json

上面的命令将在约10秒内美化约120MB的单行文件,并且jq除了简单的格式设置外,还为您提供了许多json操作功能,请参见their tutorials