我想听听您关于如何在Ubuntu上处理大型(40MB)JSON文件的建议。我希望在 vim 或 gedit 或任何其他编辑器中看到它。人们可以找到关于如何prettify the JSON的数学教程,但是,他们不必处理大量输入。我还想象我可以通过pygments或任何其他语法高亮显示管道传输数据。我很想听听你的想法。
示例下载:
wget -O large-dataset.json http://data.wien.gv.at/daten/wfs?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:BAUMOGD&srsName=EPSG:4326&outputFormat=json
请注意下载大小!
编辑:我发现meld正在发挥作用。应用程序不会立即加载整个文件,这会阻止用户界面。相反,它会按顺序读取文件内容。
答案 0 :(得分:34)
Python JSON的模块也可以这样做(python -m json.tool
),例如:
cat myjsonfile.json | python -m json.tool > pretty.json
答案 1 :(得分:4)
你有KDE或任何其他视觉环境吗?如果是,您是否尝试过使用Chrome扩展程序JSONView?
答案 2 :(得分:3)
答案 3 :(得分:2)
核心用法是格式化大json。我用25MB json文件测试了Chrome扩展JSON View。它在将此加载为本地文件或从网络崩溃时崩溃。崩溃,我的意思是JSON不会被格式化,在查看JSON视图选项时,您将收到崩溃消息。我也为firefox尝试过类似的插件。我也尝试过在线json格式化程序。
找到这个图书馆 - jsonpps。非常适合从命令行格式化大型json,获取输入并将格式化的json保存为单独的文件。它也可以保存在同一个文件中(需要可选参数)
一个缺点是,要安装和运行,一个人应该熟悉Java和Maven。
安装&运行:
git clone https://github.com/bazaarvoice/jsonpps.git
mvn clean package
cd target
java -jar jsonpps-1.2-SNAPSHOT.jar -o /path/to/output.json /path/to/largeInput.json
此解决方案不仅限于Ubuntu。它应该适用于任何操作系统。
答案 4 :(得分:1)
使用外部工具选项。 这对我有用 http://www.milosev.com/downloads/websphere/117-linux/ubuntu/454-json-prettifier-for-gedit.html
答案 5 :(得分:1)
我通常为此目的使用Sublime Text。有一个专门的插件可以完成这项工作。
插件Pretty JSON解析所选的JSON内容,并以结构化方式进行打印。
您需要做的就是选择内容,然后按 Ctrl + Alt + j 。
答案 6 :(得分:1)
jq是轻量级的命令行JSON处理器,效果很好! 为此,您需要使用以下命令安装jq(如果使用的是apt软件包管理器)。
sudo apt-get install jq
下面的命令会将json转换为新文件。
jq '.' non-pretty.json > pretty.json
我们也可以使用jq过滤json,我发现它在处理较大的geojson文件时非常有用,例如,以下命令将仅保存第一个要素的属性。
jq '.features[0].properties' geojson_file.json > pretty.json
希望这会有所帮助!