颠簸,映射到数组
Jolt, map to array
我有一个 json 输入如下:
{
"p1": 1,
"p2": 2,
"p3": 3,
"create_time": 12345
}
我想产生如下输出:
{
"result": [
{
"name": "p1",
"value": 1,
"create_time": 12345
},
{
"name": "p2",
"value": 2,
"create_time": 12345
},
{
"name": "p3",
"value": 3,
"create_time": 12345
}
]
}
有这方面的指南吗?或者我应该尝试 Jolt
以外的其他方法
你可以应用shift变换两次;第一步将所有元素组合成以字母 p
开头的每个键,然后通过将每个对象组合为最后一个名为 result
的数组中的数组元素来摆脱单独的键名称步骤如
[{
"operation": "shift",
"spec": {
"p*": {
"$": "&.name",
"@(1,&)": "&.value",
"@(1,create_time)": "&.create_time"
}
}
},
{
"operation": "shift",
"spec": {
"*": "result.[]"
}
}]
我有一个 json 输入如下:
{
"p1": 1,
"p2": 2,
"p3": 3,
"create_time": 12345
}
我想产生如下输出:
{
"result": [
{
"name": "p1",
"value": 1,
"create_time": 12345
},
{
"name": "p2",
"value": 2,
"create_time": 12345
},
{
"name": "p3",
"value": 3,
"create_time": 12345
}
]
}
有这方面的指南吗?或者我应该尝试 Jolt
以外的其他方法你可以应用shift变换两次;第一步将所有元素组合成以字母 p
开头的每个键,然后通过将每个对象组合为最后一个名为 result
的数组中的数组元素来摆脱单独的键名称步骤如
[{
"operation": "shift",
"spec": {
"p*": {
"$": "&.name",
"@(1,&)": "&.value",
"@(1,create_time)": "&.create_time"
}
}
},
{
"operation": "shift",
"spec": {
"*": "result.[]"
}
}]