jq:仅按顺序打印特定的键和值

时间:2018-07-27 17:03:40

标签: json sorting unix key jq

说我有以下JSON:

{"a": 1, "b": 2", "c": 3}

使用jq,也许使用Unix,我想获得以下输出:

c 3
a 1

有两件事-首先,我只打印两个键和值,并且按照我想要的方式进行排序。

我知道如何打印键和值,甚至仅打印一些键和值,但是我似乎无法按照自己想要的方式(而不是字母或算法排序)进行排序。

1 个答案:

答案 0 :(得分:2)

使用您的输入,过滤器

( {c}, {a} )
| to_entries[]
| "\(.key) \(.value)"

产生所需的输出(您可能需要使用-r命令行选项)。

如果所需键的顺序由数组指定, $ a,那么您可以这样写:

. as $in
| $a[]
| "\(.) \($in[.])"

等等。