【问题标题】:extract values from JSON using jq使用 jq 从 JSON 中提取值
【发布时间】:2021-09-15 18:20:23
【问题描述】:

我有一个如下所示的 JSON 对象:

{
    "Accounts": [
        {
            "Id": "1",
            "Name": "Joe",
            "Zip": "11111"
        },
        {
            "Id": "2",
            "Name": "Jack",
            "Zip": "22222"
        }
    ]   
}

我正在尝试编写一个jq 查询,它给了我这个:

[
    {
        "Id": "1",
        "Name": "Joe"
    },
    {
        "Id": "2",
        "Name": "Jack"
    }   
]

我该怎么做?谢谢。

【问题讨论】:

  • 展示研究成果的一种方式 (meta.stackoverflow.com/questions/261592/…) 是展示您的尝试。
  • 您是否尝试过使用任何 JQ 构造?使用 jqterm.com 使用不同的 JQ 结构进行测试。
  • 尝试自己编写一些东西,如果不起作用,请具体向我们展示您所做的事情,以便我们为您提供帮助。您启动它,然后我们提供帮助。我们不是为你写的。向我们展示您尝试过的实际代码,然后描述发生的事情和不正确的事情,然后我们可以从那里帮助您。如果您先自己尝试一下,您可能会非常接近答案。

标签: json jq


【解决方案1】:
jq '.Accounts | map({ Id, Name })'

会产生

[
  {
    "Id": "1",
    "Name": "Joe"
  },
  {
    "Id": "2",
    "Name": "Jack"
  }
]

您可以使用this demo在线尝试。


  • .Accounts 选择 Accounts 键
  • map() 将为每个对象应用以下内容 [docs]
  • 使用Id 和Name 键创建对象[docs]

【讨论】:

    【解决方案2】:

    演示https://jqplay.org/s/v01P2gDVc8

    你可以的

    [.Accounts[] | {Id, Name}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      相关资源
      最近更新 更多