Jolt是否可以展平包含数组的对象数组?例如,是否可以为以下输入和输出编写Jolt转换规范?
震动https://github.com/bazaarvoice/jolt
输入:
[
{"Id": "111", ["mobile": "1111", "home": "1112"]},
{"Id": "222", ["mobile": "2221"]}
]
输出:
[
{"Id": "111", "mobile": "1111"},
{"Id": "111", "home": "1112"},
{"Id": "222", "mobile": "2221"}
]
我找不到表示输出数组索引的方法。
答案 0 :(得分:0)
假设输入固定为
[
{
"Id": "111",
"Val": [
{
"mobile": "1111"
},
{
"home": "1112"
}
]
},
{
"Id": "222",
"Val": [
{
"mobile": "2221"
}
]
}
]
然后应用以下转换
[
{
"operation": "shift",
"spec": {
"*": {
"Id": null,
"Val": {
"*": {
"@": "[&3].[&0]",
"@(2,Id)": "[&3].[&0].id"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": "[]"
}
}
}
]
达到预期的输出:
[ {
"mobile" : "1111",
"id" : "111"
}, {
"home" : "1112",
"id" : "111"
}, {
"mobile" : "2221",
"id" : "222"
} ]