【问题标题】:jq: print only specific keys and values in orderjq:仅按顺序打印特定的键和值
【发布时间】:2019-01-04 20:22:32
【问题描述】:

假设我有以下 JSON:

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

使用jq 或者 Unix,我想得到以下输出:

c 3
a 1

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

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

【问题讨论】:

  • 我想你的意思是{"a": 1, "b": 2, "c": 3} 对吗?

标签: json sorting unix key jq


【解决方案1】:

根据您的输入,过滤器

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

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

如果你想要的键的顺序是由数组指定的, $a,那么你可以这样写:

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

等等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    相关资源
    最近更新 更多