在 Linux 中用 jq 命令漂亮地打印 JSON 文件
jq 是一个命令行 JSON 处理器。你可以用它来切分、过滤、映射和转换结构化数据。
要使用 jq,你需要先安装它。
1 | [root@localhost ~] # yum install -y jq |
输出一个json文件到指定文本 sample.json
1 2 3 4 | [root@localhost ~] # echo '{"name":"BeJson","url":"http://www.bejson.com","page":88, "isNonProfit" : true , "address" :{ "street" : "科技园路." , "city" : "江苏苏州" , "country" : "中国" }, "links" :[{ "name" : "Google" , "url" : "http://www.google.com" },{ "name" : "Baidu" , "url" : "http://www.baidu.com" }, { "name" : "SoSo" , "url" : "http://www.SoSo.com" }]}' > sample.json |
安装好后,用下面的方法在显示屏上漂亮地打印 JSON 文件:
1 | [root@localhost ~] # jq . sample.json |
上述命令不会影响原始 JSON 文件。不会向它写入任何更改。
如果你想用漂亮的格式修改原来的 JSON 文件,可以把解析后的输出结果用管道传送到一个新的文件中,然后覆盖原来的 JSON 文件。
1 | [root@localhost ~] # jq . sample.json > pretty.json |
额外技巧:用 jq 命令对 JSON 文件最小化。
让我们反过来,对一个格式良好的 JSON 文件进行最小化。要最小化 JSON 文件,你可以使用选项 -c。
1 | [root@localhost ~] # jq -c < sample.json |
在 Linux 中使用 Python 来漂亮地打印 JSON 文件
你更有可能是在系统中安装了 Python。如果是这样的话,你可以用它在终端漂亮地打印 JSON 文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [root@localhost ~] # yum install -y python3 [root@localhost ~] # python3 -m json.tool sample.json { "name" : "BeJson" , "url" : "http://www.bejson.com" , "page" : 88, "isNonProfit" : true , "address" : { "street" : "\u79d1\u6280\u56ed\u8def." , "city" : "\u6c5f\u82cf\u82cf\u5dde" , "country" : "\u4e2d\u56fd" }, "links" : [ { "name" : "Google" , "url" : "http://www.google.com" }, { "name" : "Baidu" , "url" : "http://www.baidu.com" }, { "name" : "SoSo" , "url" : "http://www.SoSo.com" } ] } |
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn