jolt - 颠簸,映射到数组
问题描述
我有一个 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 之外的其他方法
解决方案
您可以应用移位转换两次;p
将分散在第一步中以字母开头的每个键中的所有元素组合在一起,然后通过将每个对象组合为result
最后一步中命名的数组中的数组元素来摆脱单独的键名,例如
[{
"operation": "shift",
"spec": {
"p*": {
"$": "&.name",
"@(1,&)": "&.value",
"@(1,create_time)": "&.create_time"
}
}
},
{
"operation": "shift",
"spec": {
"*": "result.[]"
}
}]
推荐阅读
- python - 如何删除缺少列名和数据的列
- python - 删除 Pandas Dataframe 中的整个列表行 - 如果列表包含元素(在这种情况下是一两张卡片)
- javascript - NodeJS:服务器返回“没有当前用户”。尝试在服务器端引用 ID 令牌时
- xcode - Xcode 12.3:无法为 com.me.myapp 重新创建协调器
- typescript - 如何访问带有空格的对象变量?打字稿
- react-native - 我的 React Native 模式不起作用,我找不到原因
- java - 位运算符“~”在 Java 中究竟做了什么?
- haskell - Yesod中的resourcesApp从哪里来?
- firebase - 没有为“PhoneAuthProvider”类型定义方法“getCredential”
- javascript - Axios:onUploadProgress 事件仅在视频完全上传后触发