1

我有一个这样的 JSON

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

我想要做的是将idname添加到 JSON 的现有内部列表中 ,我已经经历了几个问题,但我找不到有人这样做的任何地方。

4

2 回答 2

4

我相信以下 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"
    }]
}
于 2017-04-19T15:46:46.773 回答
1

这个规范应该给你你想要的:

[
  {
    "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"
  } ]
}
于 2017-04-19T20:10:48.833 回答