JOLT 在数组中划分数字

JOLT to divide number inside array

我有 JSON:

{
  "queryParams": {
    "limit": [
      "500"
    ],
    "breakdowns": [
      "impression_device,publisher_platform,platform_position"
    ]
  },
  "body": ""
}

我想动态地将 limit 数组中的数字除以 2。

我试过:

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "queryParams": {
        "limit": "=divide(@(2,limit), 2)"
      }
    }
  }
]

但这并没有改变任何东西。如何解决?

预计:

{
  "queryParams": {
    "limit": [
      "250"
    ],
    "breakdowns": [
      "impression_device,publisher_platform,platform_position"
    ]
  },
  "body": ""
}

需要两步转换,因为limit不是一个整数或单个值,而是一个数组,需要使用一些函数从该数组中提取所需的值,例如firstElementintSum .. 等等,然后在 modify-overwrite-beta 转换中应用 divide。如果要隐藏辅助键(lmt),则连续进行shift变换

因此,请考虑使用下面的规范

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "queryParams": {
        "lmt": "=firstElement(@(1,limit))",
        "limit": "=divide(@(1,lmt),2)"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "queryParams": {
        "limit": "&1.limit",
        "breakdowns": "&1.breakdowns"        
      },
      "body": "body"
    }
  }
]