合并和排序JSON数组

时间:2020-04-05 10:47:00

标签: json jq

我对jq有问题。 我从API收到以下数据:

myAwesomeList = []
myAwesomeList.<- here we press "Tab"

使用jq我想从items数组创建新对象,将其与objectNumbers合并并使用数字对其进行排序。在这一刻,我从物品中得到了新的物品:

{
  "items": [4,5,1,3,2],
  "objectNumbers": [
     {
        "type": "objectNumber",
        "number": 8
     },
     {
        "type": "objectNumber",
        "number": 7
     },
     {
        "type": "objectNumber",
        "number": 10
     },
     {
        "type": "objectNumber",
        "number": 6
     },
     {
        "type": "objectNumber",
        "number": 9
     }
  ]
}

但是我不知道如何将其与objectNumbers合并。最后,我想要以下结构:

jq '.items[] | {type: "itemNumber", number: .}'

1 个答案:

答案 0 :(得分:2)

你很近。只需将脚本的产品放入数组中,将其添加到objectNumbers并按number字段排序即可。例如:

[.items[] | {type: "itemNumber", number: .}] + .objectNumbers
| sort_by(.number)

Online demo

相关问题