0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享几个格式化输出json文件的方法

CHANBAEK 来源:TIAP 作者:TIAP 2023-01-04 16:55 次阅读

json 文件是以人类可读形式存储数据的首选文件,但是当它们被压缩编写(不带缩进及换行格式)时,读起来就不那么容易了。

当然,即便是压缩编写,其依然是人类可读的方式,但是保持一个良好的编写格式,会更易读。如下图所示:

图片

在本篇文章中,我们使用如下非结构化的 json 文件作为演示的例子:

{"menu": {"id": "file","value": "File","popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}

下面我们来分享几个格式化输出 json 文件的方法。

方法1:使用 jq 命令

jq 是一个命令行 json 处理器,允许用户以各种方式修改 json 文件,允许用户使用各种选项重新格式化 json 文件。

但是默认情况下它没有被安装在系统中,需要先安装。在基于 Debian 的系统中,可以使用如下命令安装 jq:

sudo apt install jq

格式化 json 文件最直接的方法是在文件名前面添加一个点 . :

jq . File.json

jq 允许用户使用以下两种方式格式化 json 文件:

  • --tab 可以为每个缩进添加一个 tab 缩进,而不是默认的两个空格;
  • --indent number 允许用户为每个缩进级别添加空格(最多8个)。

比如,我们为每个缩进添加 4 个空格,可使用如下方式:

jq . --indent 4 File.json

方法2:使用 json_pp

json_pp 是一个 Perl 模块,用于将输入转换为不同的输出格式,也可以用户格式化输出 json 文件。

它需要借助管道重定向与 cat 命令才能工作,如下所示:

cat File.json | json_pp

方法3:使用 Python 格式化输出 json 文件

Python 已经在大多数系统中默认安装了,所以我们可以借助 Python 来完成我们的任务。

要格式化输出 json 文件,可以使用 json.tool,如下所示:

python3 -m json.tool File.json

方法4:使用 json_xs

该方法不会在终端中显示任何结果,但是会对文件本身进行更改。这也是我们所列的 4 种方法中唯一一个可以直接保存更改的方法。

比如,我们将格式化后的文件保存到名为 Structured.json 的新文件中:

Structured.json

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209318
  • 文件
    +关注

    关注

    1

    文章

    565

    浏览量

    24727
  • JSON
    +关注

    关注

    0

    文章

    117

    浏览量

    6963
收藏 人收藏

    评论

    相关推荐

    NOKIA手机怎么格式化

    )以及 q9、t9字体运行的话,用此法格式化是无效的。所以,软格前,先把这些软件全部关闭,中文字体文件删除,才可格式化成功。字体文件一般在 system/fonts下,删除字体
    发表于 12-28 15:54

    [小技巧]给Keil5添加代码格式化插件

    安装完成后打开Keil查看效果下面多出的4个选项的功能:1.使用CoolFormat格式化当前文件(如果文件未保存,则第一遍是保存,点第二遍才会格式化)2.使用CoolFormat打开
    发表于 09-15 19:41

    格式化硬盘

    格式化硬盘 软盘只需要一次格式化,硬盘却需要两级,即低级格式化和高级格式化。  硬盘的低级格式化在每个磁片上划分
    发表于 12-25 15:40 1093次阅读

    笔记本硬盘维护之格式化

    笔记本硬盘维护之格式化篇   格式化硬盘(并非低格)会影响硬盘寿命吗?用Windows对硬盘进行格式化与对软盘进行格式化原理一样
    发表于 01-20 10:32 368次阅读

    笔记本硬盘格式化几点须知

    笔记本硬盘格式化几点须知  格式化硬盘(并非低格)会影响硬盘寿命吗?用Windows对硬盘进行格式化与对软盘进行格式化原理一样吗?
    发表于 01-23 14:15 667次阅读

    如何格式化硬盘

    如何格式化硬盘    这是广大电脑初学者经常询问的问题,因为格式化硬盘是安装装系统的前提,所以这就成为了需要首先解决的问题,本文将针这个
    发表于 02-24 11:25 465次阅读

    如何格式化c盘

    如何格式化c盘 咨询这个问题的朋友,相信一定是电脑的初学者,而且跳过了DOS系统的年代。单单就这个问题的回答,传统的方法
    发表于 03-01 10:22 2w次阅读

    格式化对硬盘有伤害吗_硬盘格式化后数据还能恢复吗

    普通的格式化硬盘是不会影响硬盘寿命的。硬盘格式化后数据还能恢复吗?下面就来看看使用强力数据是如何将格式化后的数据给恢复的吧。
    发表于 12-14 16:09 1.7w次阅读

    格式化是什么

    格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级
    的头像 发表于 01-09 15:20 8.6w次阅读

    D盘无法格式化的解决方法分享

    电脑的使用windows7系统过程中,发现电脑磁盘的有一些不需要的文件想直接格式化,由于自己的电脑D盘太乱,想要格式化D盘。
    的头像 发表于 08-10 16:25 5291次阅读
    D盘无法<b class='flag-5'>格式化</b>的解决<b class='flag-5'>方法</b>分享

    printf格式化输出符号参数详解

    printf格式化输出符号参数详解
    发表于 07-06 09:12 21次下载

    python字符串格式化

    python字符串格式化 格式化输出,主要有三种方式 使用 % 进行格式化 使用 format 函数进行格式化 使用 f-string 进行
    的头像 发表于 02-21 16:28 1574次阅读
    python字符串<b class='flag-5'>格式化</b>

    Linux磁盘格式化和挂载介绍

    磁盘分区虽然分好区了,但暂时还不能用,我们还须对每一个分区进行格式化。所谓格式化,其实就是安装文件系统,Windows下的文件系统有FAT32和NTFS。
    的头像 发表于 10-28 09:08 3292次阅读

    如何在Linux命令行中格式化输出xml

    我们先前分享过一篇关于在命令行中格式化输出 json 文件的文章,今天我们再来分享一下如何在命令行中格式化
    的头像 发表于 01-12 17:37 1540次阅读
    如何在Linux命令行中<b class='flag-5'>格式化</b><b class='flag-5'>输出</b>xml

    格式化NTFS文件系统分区的数据恢复案例

    误操作格式化服务器RAID5磁盘阵列下的分区(NTFS文件系统)。
    的头像 发表于 04-10 14:10 807次阅读
    误<b class='flag-5'>格式化</b>NTFS<b class='flag-5'>文件</b>系统分区的数据恢复案例