下面是我的 JSON
[
{
"id": "0",
"bucket_attr1": "test1",
"buckets": ["abc", "def", "mhf"]
},
{
"id": "1",
"bucket_attr1": "test2",
"buckets": ["abc", "ghi"]
}
]
我想将id和bucket_attr1复制到buckets数组中的每个map中,这样输出如下
[
{
"bucket_id": "abc",
"bucket_attr1": "test1",
"id": "0"
},
{
"bucket_id": "def",
"bucket_attr1": "test1",
"id": "0"
},
{
"bucket_id": "mhf",
"bucket_attr1": "test1",
"id": "0"
}
{
"bucket_id": "abc",
"bucket_attr2": "test2",
"id": "1"
},
{
"bucket_id": "ghi",
"bucket_attr2": "test2",
"id": "1"
}
]
我尝试了几种方法,包括这里提到的,稍加修改后,但没有成功。 Jolt 变换以移动数组每个元素中的属性
您可以使用以下移位转换规范:
[
{// separate by indexes from two different levels
"operation": "shift",
"spec": {
"*": {
"buckets": {
"*": {
"@": "&3_&1.bucket_id",
"@2,id": "&3_&1.id",
"@2,bucket_attr1": "&3_&1.bucket_attr1"
}
}
}
}
},
{// get rid of the separator keys of the objects
"operation": "shift",
"spec": {
"*": "[]"
}
}
]