json 使用JOLT添加数组索引

mzaanser  于 2023-10-21  发布在  其他
关注(0)|答案(2)|浏览(94)

我想为每个数组元素添加一种带有震动的行号或标识符。
给定数组:

[
  {
    "key1": "value1",
    "key2": "value2",
    "neyN": "valueN"
  },
  {
    "key1": "value1",
    "key2": "value2",
    "neyN": "valueN"
  }
]

预期结果:

[
  {
    "key1": "value1",
    "key2": "value2",
    "neyN": "valueN",
    "id": 0
  },
  {
    "key1": "value1",
    "key2": "value2",
    "neyN": "valueN",
    "id": 1
  }
]

我尝试了现在默认,移位和更多,但无法找到一个正确的解决方案.有人能帮帮我吗?
提前感谢Marcus

ih99xse1

ih99xse11#

**规范1:**使用索引号将键沿着与id字段分组。
**规范2:**从结果数组中删除索引号键。

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@": "&1",
        "$": "&1.id"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@": "[]"
      }
    }
  }
]
vlju58qv

vlju58qv2#

你所需要做的就是通过使用$$$来引入对象的索引,同时保持当前值,并以数组方式完成所有工作。只有以下单个规范才能实现此目的:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@": "[&1]",
        "$": "[&1].id"
      }
    }
  }
]

网站http://jolt-demo.appspot.com/上的***演示***是:

相关问题