Jolt 转换合并记录
Jolt tranformation merge records
Jolt 面临一个问题 -
当前输入-
[
{
"test1": "A",
"test2": "X",
"test3": "Y",
"test4": "Z"
},
{
"test1": "B",
"test2": "X",
"test3": "Y",
"test4": "Z"
}
]
所需的输出是
[
{
"test1": "A",
"label": [
{
"test2": "X",
"test3": "Y",
"test4": "Z"
}
]
},
{
"test1": "B",
"label": [
{
"test2": "X",
"test3": "Y",
"test4": "Z"
}
]
}
]
基本上把三个属性合并到一个下面,剩下的应该在外面
尝试使用以下 Jolt 但无效 -
[
{
"operation": "shift",
"spec": {
"test1": "&",
"*": "row.&"
}
}
]
除test1
以外的属性值可以在label[0]
前加上[=13=来区分对象]作为前导,以便替换它们元素的索引,例如
[
{
"operation": "shift",
"spec": {
"*": {
"test1": "&1.&",
"*": "&1.label[0].&"
}
}
},
{
"operation": "shift",
"spec": {
"*": ""
}
}
]
站点 http://jolt-demo.appspot.com/ 上的演示是:
Jolt 面临一个问题 -
当前输入-
[
{
"test1": "A",
"test2": "X",
"test3": "Y",
"test4": "Z"
},
{
"test1": "B",
"test2": "X",
"test3": "Y",
"test4": "Z"
}
]
所需的输出是
[
{
"test1": "A",
"label": [
{
"test2": "X",
"test3": "Y",
"test4": "Z"
}
]
},
{
"test1": "B",
"label": [
{
"test2": "X",
"test3": "Y",
"test4": "Z"
}
]
}
]
基本上把三个属性合并到一个下面,剩下的应该在外面
尝试使用以下 Jolt 但无效 -
[
{
"operation": "shift",
"spec": {
"test1": "&",
"*": "row.&"
}
}
]
除test1
以外的属性值可以在label[0]
前加上[=13=来区分对象]作为前导,以便替换它们元素的索引,例如
[
{
"operation": "shift",
"spec": {
"*": {
"test1": "&1.&",
"*": "&1.label[0].&"
}
}
},
{
"operation": "shift",
"spec": {
"*": ""
}
}
]
站点 http://jolt-demo.appspot.com/ 上的演示是: