Javascript 如何使用jolt重命名json中数组中的所有元素?

Javascript 如何使用jolt重命名json中数组中的所有元素?,javascript,json,jolt,Javascript,Json,Jolt,我有来自外部应用程序A的JSON数据,需要发送到应用程序B。在数据进入应用程序B之前,json中的所有属性都需要重命名 例如,传入的json数据结构是- { "Array1": [ { "field1": "foo1", "field2": [ "bar1", "bar2" ] }, { "field1": "foo2", "field2": [ "bar3",

我有来自外部应用程序A的JSON数据,需要发送到应用程序B。在数据进入应用程序B之前,json中的所有属性都需要重命名

例如,传入的json数据结构是-

{
  "Array1": [
    {
      "field1": "foo1",
      "field2": [
        "bar1",
        "bar2"
      ]
    },
    {
      "field1": "foo2",
      "field2": [
        "bar3",
        "bar4"
      ],

      ...

        {
      "field1": "fooN",
      "field2": [
        "barX",
        "barY"
      ] 

    }
  ]
}
其中,
Array1
中每个记录的元素数是可变的

预计产量为-

{
  "ElementList": [
    {
      "Attr1": "foo1",
      "Attr2": [
        "bar1",
        "bar2"
      ]
    },
    {
      "Attr1": "foo2",
      "Attr2": [
        "bar3",
        "bar4"
      ],

      ...

        {
      "Attr1": "fooN",
      "Attr2": [
        "barX",
        "barY"
      ]  

    }
  ]
}
基本上

  • 数组1重命名为ElementList
  • 数组1中的每个字段1重命名为Attr1
  • 每个字段2数组1重命名为Attr2

对于简单的重命名,我可以使用
shift
运算符,但我不能为数组指定正确的jolt变换。有什么想法吗

检查这是否适合您:

[
  {
    "operation": "shift",
    "spec": {
      "Array1": "ElementList"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "ElementList": {
        "*": {
          "field1": "ElementList[&1].Attr1",
          "field2": "ElementList[&1].Attr2"
        }
      }
    }
  }
]

相关:谢谢!是的,这就是我根据另一位用户指出的相关问题得出的结论。