是否有(Unix)shell脚本将JSON格式化为可读格式?

基本上,我希望它转换以下内容:

{ "foo": "lorem", "bar": "ipsum" }

…变成这样:

{
    "foo": "lorem",
    "bar": "ipsum"
}

当前回答

尝试pjson。它有颜色!

使用pip安装:

⚡ pip安装pjson

然后将任何JSON内容通过管道传输到pjson。

其他回答

或者,使用Ruby:

echo '{ "foo": "lorem", "bar": "ipsum" }' | ruby -r json -e 'jj JSON.parse gets'

你只需要使用jq如果未安装jq,则需要先安装jq。

sudo apt-get update
sudo apt-get install jq

安装jq后,只需使用jq

echo '{ "foo": "lorem", "bar": "ipsum" }' | jq

输出看起来像

{
  "foo": "lorem",
  "bar": "ipsum"
}
gem install jsonpretty
echo '{"foo": "lorem", "bar": "ipsum"}' | jsonpretty

该方法还“检测HTTP响应/标头,打印它们,并跳过主体(用于'curl-i')”。

您可以使用此简单命令来实现以下结果:

echo "{ \"foo\": \"lorem\", \"bar\": \"ipsum\" }"|python -m json.tool

有TidyJSON。

它是C#,所以也许你可以让它用Mono编译,并使用*nix。但没有保证,抱歉。