Json 使用 Jolt 进行数组转换
Json array transformation with Jolt
我正在尝试使用 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
}
]
我能够使用此规范文件为单个嵌套数组元素添加键:
[
{
"operation": "shift",
"spec": {
"0": "timestamp",
"1": "value1",
"2": "value2",
"3": "value3"
}
}
]
但我不知道如何将其应用于外部 JSON 数组。
像这样应该可以满足您的要求:
[
{
"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
的技巧
我正在尝试使用 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
}
]
我能够使用此规范文件为单个嵌套数组元素添加键:
[
{
"operation": "shift",
"spec": {
"0": "timestamp",
"1": "value1",
"2": "value2",
"3": "value3"
}
}
]
但我不知道如何将其应用于外部 JSON 数组。
像这样应该可以满足您的要求:
[
{
"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