我正在尝试使用Jolt从JSON数组转换为另一个数组。 它由一个没有键的嵌套JSON数组组成。
这是我的输入内容:
[
[
"20190207101456",
1,
2,
3
],
[
"20190207101456",
4,
5,
6
]
]
我想获得以下输出:
[
{
"timestamp": "20190207101456",
"value1": 1,
"value2" : 2,
"value3" : 3
},
{
"timestamp": "20190207101456",
"value1": 4,
"value2" : 5,
"value3" : 6
}
]
我能够使用这个spec文件为单个嵌套数组元素添加密钥:
[
{
"operation": "shift",
"spec": {
"0": "timestamp",
"1": "value1",
"2": "value2",
"3": "value3"
}
}
]
但是我不知道如何将其应用于外部JSON数组。
答案 0 :(得分:1)
这样的事情应该做你想要的:
[
{
"operation": "shift",
"spec": {
"*": {
"0": "[&1].timestamp",
"1": "[&1].value1",
"2": "[&1].value2",
"3": "[&1].value3"
}
}
}
]
在评论默认的空数组之后,您可以执行以下操作:
[
{
"operation": "shift",
"spec": {
"*": {
"0": "[&1].timestamp",
"1": "[&1].value1",
"2": "[&1].value2",
"3": "[&1].value3"
}
}
},
{
"operation": "default",
"spec": {
"*": {
"TRASH": "",
"value_before_timestamp": "static_value"
}
}
},
{
"operation": "remove",
"spec": {
"*": {
"TRASH": ""
}
}
}
]
TRASH
的技巧来自here