使用 Jolt 转换对象数组

Transform Array of objects with Jolt

我正在尝试使用 JOLT.

将一个对象数组转换为输出 JSON,其中没有包装键

输入

{
  "emps": [
    {
      "emp": {
        "empId": "2A68",
        "emailAddress": "abc@xyz.com",
        "name": "abc",
        "userId": "82869",
        "userType": "none",
        "phoneNumber": "1234",
        "rank": "2"
      }
    }
  ]
}

我试过的规格

[
  {
    "operation": "shift",
    "spec": {
      "emps": {
        "*": {
          "empId": "data.result[&1].emps[&1].empId",
          "name": "data.result[&1].emps[&1].name",
          "phoneNumber": "data.result[&1].emps[&1].phone",
          "emailAddress": "data.result[&1].emps[&1].email"
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "data": {
        "result[]": {
          "*": {
            "emps[]": []
          }
        }
      }
    }
  }
]

预期输出

{
  "data" : {
    "result" : [ {
      "emps" : [ {
        "empId" : "2A68",
        "name" : "abc",
        "phone" : "1234",
        "email" : "abc@xyz.com"
      } ]
    } ]
  }
}

请复制粘贴以上INPUTOUTPUThere 如果我从输入中删除 emp 包装器,那么它会按预期工作正常但没有得到如何使用 emp 包装器获得相同的输出。

感谢任何帮助。

规格

必须有第一个转变,逐步通过 "emps"、数组,然后是 "emp" 对象。

[
  {
    "operation": "shift",
    "spec": {
      "emps": {
        "*": {
          "emp": {
            "empId": "data.result[0].emps[&2].empId",
            "name": "data.result[0].emps[&2].name",
            "phoneNumber": "data.result[0].emps[&2].phone",
            "emailAddress": "data.result[0].emps[&2].email"
          }
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "data": {
        "result[]": {
          "*": {
            "emps[]": []
          }
        }
      }
    }
  }
]