我正在尝试使用JOLT根据属性将一个数组拆分为多个数组。我已经尝试过JOLT“ Shift”规范,但无法实现。
我看过几个完成数组转换的链接,但找不到任何将数组拆分为多个数组的方法。
示例: 根据属性“ type”的值将以下数组转换为3个数组。
输入:
[
{
"name": "abc1",
"address": "abcdef",
"types": [
"a",
"b"
]
},
{
"name": "abc2",
"address": "abcdef2",
"types": [
"b",
"c"
]
},
{
"name": "abc3",
"address": "abcdef3",
"types": [
"c"
]
}
]
输出:
{
"a": [
{
"name": "abc1",
"address": "abcdef",
"types": [
"a",
"b"
]
}
],
"b": [
{
"name": "abc1",
"address": "abcdef",
"types": [
"a",
"b"
]
},
{
"name": "abc2",
"address": "abcde2",
"types": [
"b",
"c"
]
}
],
"c": [
{
"name": "abc2",
"address": "abcde2",
"types": [
"b",
"c"
]
},
{
"name": "abc3",
"address": "abcdef3",
"types": [
"c"
]
}
]
}
答案 0 :(得分:1)
这将产生所需的结果:
&1
)的值作为键@3
)[
{
"operation": "shift",
"spec": {
"*": {
"types": {
"*": {
"*": {
"@3": "&1"
}
}
}
}
}
}
]