鉴于以下内容:
> echo '{"thing":{"one":1,"two":2,"three":3}}'|jq .thing
{
"one": 1,
"two": 2,
"three": 3
}
如何获取输出该命令的命令?
"one": 1
"two": 2
"three": 3
答案 0 :(得分:3)
首先将对象转换为条目然后生成字符串。只要确保你得到原始输出。
$ ... | jq -r '.thing | to_entries[] | "\(.key | tojson): \(.value)"'
答案 1 :(得分:1)
以下是使用-r
和 keys_nnsorted 的解决方案:
$ echo '{"thing":{"one":1,"two":2,"three":3}}' \
| jq -r '.thing | keys_unsorted[] as $k | "\"\($k)\": \(.[$k])"'
产生以下输出:
"one": 1
"two": 2
"three": 3