从命令行打印JSON? (来自文件)

我有一个json元素序列的文件:

{ element0: "lorem", value0: "ipsum" }
{ element1: "lorem", value0: "ipsum" }
...
{ elementN: "lorem", value0: "ipsum" }

是否有shell脚本来格式化JSON以可读形式显示文件内容?

我看过这篇文章,我认为这是一个很好的起点!

我的想法是迭代文件中的行,然后:

while read row; do echo ${row} | python -mjson.tool; done < "file_name"

有没有人有任何其他想法?


将结果从文件中导入python json工具2.6以后

cat 'file_name' | python -m json.tool

您可以使用 :

 Python JSON tool

(需要Python 2.6+)

例如 :

echo '{ "element0" : "lorem", "element1" : "ipsum" }' | python -m json.tool

哪个会给你:

{
    "element0": "lorem",
    "element1": "ipsum"
}

jq - 一个轻量级和灵活的命令行JSON处理器

当我花费更多的时间时,我觉得这是值得自己记录的。 我正在寻找一种简单的方式来漂亮地显示docker inspect -f的json输出。 上面简单地提到了Noufal Ibrahim作为另一个答案的一部分。

来自jq网站(stedolan.github.io/jq/):

jq就像sed for JSON数据 - 您可以使用sed,awk,grep和朋友让您使用文本进行播放的方式来使用它来分割和过滤并映射和转换结构化数据。

它默认提供彩色输出,你只需要管道到jq

例:

“原始”json输出与管道到jq的相同

链接地址: http://www.djcxy.com/p/8265.html

上一篇: print JSON from the command line? (from a file)

下一篇: Syntax highlighting/colorizing cat