我想将 JSON 转换为键值对,并同时复制特定的单个值,即"timestamp"
,对于所有这些对。
输入 JSON:
{
"Timestamp": "2018-05-13T14:57:09",
"first_key": "1023",
"another_key": "1987",
"yet_another_key": "677"
}
预期输出:
[
{
"Timestamp": "2018-05-13T14:57:09.087",
"key": "first_key",
"value": "1023"
},
{
"Timestamp": "2018-05-13T14:57:09.087",
"key": "another_key",
"value": "1987"
},
{
"Timestamp": "2018-05-13T14:57:09.087",
"key": "yet_another_key",
"value": "677"
}
]
到目前为止,我提出的是以下 JOLT 规范。它已经为所有非“时间戳”的条目生成了键值对,但是如何将“时间戳”的值复制到每个记录中?
[
{
"operation": "shift",
"spec": {
"Timestamp": "[].Timestamp",
"*": {
"$": "[#2].key",
"@": "[#2].value"
}
}
}
]
上述 JOLT 规范的输出:
[
{
"Timestamp": "2018-05-13T14:57:09.087"
},
{
"key": "first_key",
"value": "1023"
},
{
"key": "another_key",
"value": "1987"
},
{
"key": "yet_another_key",
"value": "677"
}
]