【问题标题】:jq get all unique values for a given key in a list of objectsjq 获取对象列表中给定键的所有唯一值
【发布时间】:2021-09-14 06:38:18
【问题描述】:

假设我有一个返回以下数组的端点:

[
  {"name": "Joe", "age": 21},
  {"name": "Steve", "age": 27},
  {"name": "Michelle", "age": 32},
  {"name": "Joe", "age": 23},
]

我知道我可以使用以下命令(使用 httpie)获取所有名称:

http https://some-endpoint | jq '.[] | .name'

# output
Joe
Steve
Michelle
Joe

我怎样才能得到所有唯一的名字(所以没有重复)?

【问题讨论】:

    标签: json unique jq


    【解决方案1】:

    假设输入是有效的 JSON,下面的 jq 程序将产生一个不同名称的数组:

    map(.name) | unique
    

    如果输入有多余的逗号,如示例所示,您可能希望考虑使用预处理器,例如 any-jsonhjson

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多