JSON 文件非常棒,因为它们以人类可读的格式存储数据集合。然而,如果 JSON 文件被最小化过,那么阅读 JSON 文件可能会很痛苦。

• 来源:linux.cn • 作者:Abhishek Prakash • 译者:geekpi •

(本文字数:1404,阅读时长大约:2 分钟)

JSON 文件非常棒,因为它们以人类可读的格式存储数据集合。然而,如果 JSON 文件被最小化过,那么阅读 JSON 文件可能会很痛苦。

以这个为例:

Minified JSON is difficult to read

计算机可以很容易地读取它。即使是人也能读,但如果 JSON 文件以合适的格式显示,那么阅读就会简单很多。我的意思是 JSON 文件应该是这样读的:

Pretty Printed JSON is easier to read

你可以使用大多数的文本编辑器和一些插件以合适的格式显示它。然而,如果你在终端中,或者你想在你的 shell 脚本中这么做,事情会有所不同。

如果你有一个已最小化过的 JSON 文件,让我来告诉你如何在 Linux 终端中漂亮地输出它。

在 Linux 中用 jq 命令漂亮地打印 JSON 文件

jq 是一个命令行 JSON 处理器。你可以用它来切分、过滤、映射和转换结构化数据。我在这里不打算详细介绍 jq 命令行工具的使用。

要使用 jq,你需要先安装它。你可以使用你的 发行版的包管理器 来安装它。如果启用了 universe 仓库 ,你可以使用 apt 命令在 Ubuntu 上安装它:

sudo apt install jq

安装好后,用下面的方法在显示屏上漂亮地打印 JSON 文件:

jq . sample.json

Pretty printed JSON file

你可能也想用 cat,但我认为 cat 在这里没用。

cat sample.json | jq

请记住,上述命令不会影响原始 JSON 文件。不会向它写入任何更改。

你可能已经知道 如何在 Linux 中把命令输出重定向到一个文件 。你可能也知道不能重定向到同一个文件,而且 tee 命令也不能保证一直有效。

如果你想用漂亮的格式修改原来的 JSON 文件,可以把解析后的输出结果用管道传送到一个新的文件中,然后覆盖原来的 JSON 文件。

jq . sample.json > pretty.json

Pretty printing JSON file in Linux Terminal

额外技巧:用 jq 命令对 JSON 文件最小化。

让我们反过来,对一个格式良好的 JSON 文件进行最小化。要最小化 JSON 文件,你可以使用选项 -c。

jq -c < pretty.json

Minified JSON file display

如果你愿意,你也可以使用 cat 和重定向:

cat pretty.json | jq -c

在 Linux 中使用 Python 来漂亮地打印 JSON 文件

你更有可能是在系统中安装了 Python。如果是这样的话,你可以用它在终端漂亮地打印 JSON 文件:

python3 -m json.tool sample.json

Pretty printing JSON with Python

我知道还有其他方法可以解析 JSON 文件并以适当的格式打印出来。你可以自己去探索,但这两种方法足以完成漂亮地打印 JSON 文件的工作。

Linux系统json文件打中文,如何在 Linux 终端上漂亮地打印 JSON 文件相关推荐

  1. 如何在Shell脚本中漂亮地打印JSON?

    是否有(Unix)Shell脚本以易于理解的格式格式化JSON? 基本上,我希望它可以转换以下内容: { "foo": "lorem", "bar&q ...

  2. linux系统怎么安装office软件,如何在Linux系统中安装OpenOffice

    Linux系统比如说Ubuntu或Linux Mint中是主要的办公软件,有些版本的系统中集成了这款软件,但是有些系统没有.所以下面就来给大家介绍一下,如何在Linux系统中安装OpenOffice. ...

  3. 在linux系统中进行路由探测,如何在Linux操作系统中运行Traceroute命令?

    Traceroute是Linux操作系统中的命令工具,可用于查看网络数据包的路由.Traceroute可以帮助确定网络数据包传输的质量好坏,同时对于排除缓慢的网络连接故障也很有用. 在租用 关于Tra ...

  4. linux系统可以下steam吗,如何在Linux系统上玩Windows游戏?linux玩Steam游戏方法

    大部分的游戏都只有Windows版本,这对使用Linux和IOS的朋友来说还是比较郁闷的,谁让windows是操作系统中的老大呢?我们想要在Linux下玩windows游戏,一般来说就需要安装wind ...

  5. 如何查看linux系统的密码是多少,如何在Linux系统查询SAM密码

    用linux启动,并挂载Windows的系统分区把c:\windows\system32\config\目录下的SAM和system复制出来 也可以用WINPE,DOS引导盘,都可以的,只要把SAM和 ...

  6. mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式) Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装My ...

  7. deb包一般放在linux的哪个目录下,技术|如何在 Linux 中列出通过 RPM 或者 DEB 包安装的文件...

    你是否想要了解安装包中各个文件在 Linux 系统中安装(位于)的位置?我们将在本文介绍如何列出文件的来源,或存在于某个特定包或者一组软件包中的文件. 这篇文章可以帮你轻松地找到重要的软件包文件,如配 ...

  8. linux下的oracle中文乱码,linux系统中oracle出现中文乱码怎么办

    linux系统中oracle出现中文乱码怎么办 发布时间:2020-06-10 10:04:55 来源:亿速云 阅读:148 作者:Leah linux系统中oracle出现中文乱码怎么办?这篇文章总 ...

  9. Linux系统详解 第五篇:Linux的安装-4:Fedora 16的安装

    Linux系统详解 第五篇:Linux的安装-4:Fedora 16的安装 前言: 本系列文章取材广泛,有来自于互联网的,有来自教科书的,有来自自己的笔记的,也有来自自己对Linux的经验积累的.此系 ...

最新文章

  1. maven下载其源代码包并关联
  2. 前端用Sass实现星级评定效果,简单快捷实现星级切换。
  3. strcmp可以比较数组么_C语言数组越界了,后果很严重,如何避免?
  4. 商业方向的大数据专业_结合当前的人才需求趋势,大数据专业考研时可以选择哪些主攻方向...
  5. 对象删除某个属性_JS对象基本用法
  6. Creative Coding创意+技术的世界
  7. windows tcp ping 端口工具及使用方法
  8. 哲学家就餐问题python_哲学家就餐问题的一种Python解决方案
  9. 如何修复Win7照片查看器无法显示的图片
  10. 怎么查看oracle是多少位的,查看 Oracle 是32位还是64位的方法
  11. java email bean_JavaWeb学习笔记-第四章JavaBean技术
  12. 判断字符串子序列--HW
  13. 职场人士,如何打造“自品牌”?
  14. [web]idea如何打开其他jsp文件
  15. python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件
  16. macos 输入法切换卡顿 macos monterey (已解决)
  17. 模拟登录12306(selenium+超级鹰)
  18. 京东面经!让你的春招不再迷茫!
  19. Window.clearTimeout() 方法取消由 setTimeout() 方法设置的 timeout
  20. shell入门基础知识

热门文章

  1. (优秀文章保存)Quartz优秀文章保存
  2. java中Date和DateFormat、SimpleDateFormat类
  3. strchr与strstr函数
  4. Java应用结构规范
  5. 10亿+文件数压测,阿里云JindoFS轻松应对
  6. Istio 在阿里云容器服务的部署及流量治理实践
  7. pandas指南:做更高效的数据科学家
  8. 青年PM倪超:想让程序员多一点点幸福感
  9. 带你一文看懂 Blockchain + NoSQL数据库
  10. 恭喜了!5 月逼自己学下这项技能,年薪 35 万起