我需要格式化一个大的JSON文件以提高可读性,但是我找到的每一个资源(大多数是在线的)都不处理1-2 MB以上的数据。我需要格式化大约30 MB。有没有办法做到这一点,或者有没有办法编写代码来做到这一点?
g2ieeal71#
使用python〉= 2.6,您可以执行以下操作:对于Mac/Linux用户:
cat ugly.json | python -mjson.tool > pretty.json
对于Windows用户(感谢dnk.nitro的评论):
type ugly.json | python -mjson.tool > pretty.json
baubqpgj2#
jq可以在几秒钟内格式化或美化约100MB的JSON文件:
jq '.' myLargeUnformattedFile.json > myLargeBeautifiedFile.json
上面的命令可以在10秒内美化一个单行的120MB文件,jq除了简单的格式化外,还提供了很多json操作功能,请参见their tutorials。
syqv5f0l3#
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 %*
@echo off java -Xms64m -Xmx64m -jar %~dp0\jsonpps-1.1.jar %*
快捷方式用法示例:
1.将标准输入格式化为标准输出:echo { "x": 1 } | jsonpps1.将标准输入格式化为文件echo { "x": 1 } | jsonpps -o output.json1.将文件格式设置为文件:jsonpps input.json -o output.json
echo { "x": 1 } | jsonpps
echo { "x": 1 } | jsonpps -o output.json
jsonpps input.json -o output.json
xoefb8l84#
背景--我试图用命令(Alt+Shift+F)在VS代码上格式化一个巨大的json文件~ 89 MB,但是通常情况下,它崩溃了。我用jq格式化我的文件并将其存储在另一个文件中。下面显示了一个Windows 11用例。步骤1-从官方网站下载jq,用于您各自的OS -https://stedolan.github.io/jq/步骤2-在C盘中创建一个名为jq的文件夹,并将下载的可执行文件粘贴到该文件夹中。将该文件重命名为jq(错误1:请注意,默认情况下该文件是exe文件,因此不要将其另存为“jq.exe”,仅保存为“jq”)步骤3-将路径变量设置为可执行文件的URL。步骤4-打开你的cmd目录,在那里json文件被存储并且键入下面的命令- jq . currentfilename.json〉targetfilename.json用你想要格式化的文件名替换currentfilename用你想要格式化数据的最终文件名替换targetfilename几秒钟内你就可以在同一个目录中看到你的目标文件,它的格式化版本现在可以在VS代码或任何相关的编辑器上打开。2任何与jq作为命令的可识别性相关的错误都很有可能追溯到错误1。jqjqueryjsondata-preprocessingdata-cleaning
kmynzznz5#
您可以使用Notepad++(https://notepad-plus-plus.org/downloads/)格式化大型JSON文件(在Windows中测试)。1.安装记事本++1.进入插件-〉插件管理-〉安装'Json Viewer'插件。插件源代码在https://github.com/kapilratnani/JSON-Viewer中1.安装插件后,进入插件-〉JSON查看器-〉格式化JSON。这将格式化JSON文件
5条答案
按热度按时间g2ieeal71#
使用python〉= 2.6,您可以执行以下操作:
对于Mac/Linux用户:
对于Windows用户(感谢dnk.nitro的评论):
baubqpgj2#
jq可以在几秒钟内格式化或美化约100MB的JSON文件:
上面的命令可以在10秒内美化一个单行的120MB文件,jq除了简单的格式化外,还提供了很多json操作功能,请参见their tutorials。
syqv5f0l3#
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.将标准输入格式化为标准输出:
echo { "x": 1 } | jsonpps
1.将标准输入格式化为文件
echo { "x": 1 } | jsonpps -o output.json
1.将文件格式设置为文件:
jsonpps input.json -o output.json
xoefb8l84#
背景--我试图用命令(Alt+Shift+F)在VS代码上格式化一个巨大的json文件~ 89 MB,但是通常情况下,它崩溃了。我用jq格式化我的文件并将其存储在另一个文件中。
下面显示了一个Windows 11用例。
步骤1-从官方网站下载jq,用于您各自的OS -https://stedolan.github.io/jq/
步骤2-在C盘中创建一个名为jq的文件夹,并将下载的可执行文件粘贴到该文件夹中。将该文件重命名为jq(错误1:请注意,默认情况下该文件是exe文件,因此不要将其另存为“jq.exe”,仅保存为“jq”)
步骤3-将路径变量设置为可执行文件的URL。
步骤4-打开你的cmd目录,在那里json文件被存储并且键入下面的命令- jq . currentfilename.json〉targetfilename.json
用你想要格式化的文件名替换currentfilename用你想要格式化数据的最终文件名替换targetfilename
几秒钟内你就可以在同一个目录中看到你的目标文件,它的格式化版本现在可以在VS代码或任何相关的编辑器上打开。2任何与jq作为命令的可识别性相关的错误都很有可能追溯到错误1。
jqjqueryjsondata-preprocessingdata-cleaning
kmynzznz5#
您可以使用Notepad++(https://notepad-plus-plus.org/downloads/)格式化大型JSON文件(在Windows中测试)。
1.安装记事本++
1.进入插件-〉插件管理-〉安装'Json Viewer'插件。插件源代码在https://github.com/kapilratnani/JSON-Viewer中
1.安装插件后,进入插件-〉JSON查看器-〉格式化JSON。
这将格式化JSON文件