【问题标题】:Extracting a json string from child array in bash从bash中的子数组中提取json字符串
【发布时间】:2021-07-03 09:13:53
【问题描述】:

这是我通过 curl 收到的输出。我想将“playcount”保存在一个变量中。 如何循环遍历轨道 [] 以获取字符串 'playcount' 并保存它们以便形成总和?
我花了很多时间通过jq 解决这个问题,但没有真正解决问题..

{
  "success": true,
  "data": {
    "track_count": 2,
    "discs": [
      {
        "number": 1,
        "name": "",
        "tracks": [
          {
            "album_id": "u2hh2n2b7fo20v46cbe",
            "playcount": 17212,
            "name": "World Savior",
            "number": 1,
            "duration": 341,
          },
          {
            "album_id": "jk299sdhjahj991nbwd",
            "playcount": 9812,
            "name": "Tower",
            "number": 2,
            "duration": 281,
          }
        ]
      }
    ],
    "month": 11,
    "day": 26,
    "year": 2021,
    "type": "single",
  }
}

【问题讨论】:

    标签: arrays json linux bash parsing


    【解决方案1】:

    如果您想要playcount 值的列表,您只需深入到正确的内容:

    jq '.data.discs[].tracks[].playcount'
    

    如果您想要他们的总和,请将其和add 其条目组成一个数组:

    jq '[.data.discs[].tracks[].playcount]|add'
    

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 2023-03-17
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      相关资源
      最近更新 更多