如何使用jq获取哈希的原始内容?

时间:2016-05-27 15:53:29

标签: jq

鉴于以下内容:

> echo '{"thing":{"one":1,"two":2,"three":3}}'|jq .thing
{
  "one": 1,
  "two": 2,
  "three": 3
}

如何获取输出该命令的命令?

"one": 1
"two": 2
"three": 3

2 个答案:

答案 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