使用 JOLT 将外部 json 键值放入嵌套 json 数组中的非常 json

Get outer json key value into very json in the nested json array using JOLT

我有一个JSON这样的

{
  "id": "1234",
  "name": "something",
  "list": [
    {
      "A": "Something"
    },
    {
      "B": "Something1"
    }
  ]
}

我想做的是将 idname 添加到 JSON 中的 JSON =18=]列表 我已经回答了几个问题,但找不到任何地方有人这样做过。

我相信以下 Shift 规范会起作用:

{
    "id|name": "&",
    "list": {
      "*": {
        "@(2,id)": "&2.[&1].id",
        "@(2,name)": "&2.[&1].name",
        "*": "&2.[&1].&"
      }
    }
}

使用您的样本数据,产生的输出是:

{
    "id": "1234",
    "name": "something",
    "list": [{
        "id": "1234",
        "name": "something",
        "A": "Something"
    }, {
        "id": "1234",
        "name": "something",
        "B": "Something1"
    }]
}

这份规范应该能满足您的需求:

[
  {
    "operation": "shift",
    "spec": {
      "list": {
        "*": {
          "@(2,id)": "&2.[&1].id",
          "@(2,name)": "&2.[&1].name",
          "*": "&2.[&1].&"
        }
      }
    }
  }
]

根据您的输入,输出如下:

{
  "list" : [ {
    "A" : "Something",
    "id" : "1234",
    "name" : "something"
  }, {
    "B" : "Something1",
    "id" : "1234",
    "name" : "something"
  } ]
}