44

我想听听您关于如何在 Ubuntu 上处理大型 (40MB) JSON 文件的建议。我希望看到它在vimgedit或任何其他编辑器中打印得很漂亮。可以找到许多关于如何美化 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

请注意下载大小!


编辑:我发现融合有点工作。应用程序不会立即加载整个文件,这会阻塞用户界面。相反,它顺序读取文件内容。

4

7 回答 7

66

Python JSON 的模块也可以做到这一点(python -m json.tool),例如:

cat myjsonfile.json | python -m json.tool > pretty.json
于 2017-09-19T13:12:13.137 回答
23

如果你只是想可视化(和搜索)一个 json 文件,Firefox做得很好。我手头没有40MB文件,但它很容易处理一个9MB的文件。

只需将 JSON 文件拖到 Firefox 中,或运行:

firefox your_file.json

于 2019-02-12T17:07:48.727 回答
22

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

希望这会有所帮助!

于 2019-10-25T08:40:13.860 回答
5

你有 KDE 或任何其他视觉环境吗?如果是,您是否尝试过使用 chrome 扩展JSONView

于 2012-05-22T14:36:27.807 回答
3

为此,我通常使用Sublime Text 。这项工作有一个专用插件。

插件Pretty JSON解析选择的 JSON 内容,并以结构化的方式打印它们。

您需要做的就是选择内容并按Ctrl+ Alt+ j

于 2018-12-26T11:58:01.327 回答
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。它应该适用于任何操作系统。

于 2014-12-15T10:31:44.227 回答
1

使用外部工具选项。这对我 有用 http://www.milosev.com/downloads/websphere/117-linux/ubuntu/454-json-prettifier-for-gedit.html

于 2018-08-08T09:00:37.870 回答