json - 无法使用 jolt 转换器将 stringfy json 对象数组转换为 json 对象
问题描述
输入json
"sales" : "[{\"Option\":\"Britania\",\"value\":\"200\"}{\"Option\":\"Parle\",\"value\":\"100\"}{\"Option\":\"mariegold\",\"value\":\"500\"}{\"Option\":\"snacks\",\"value\":\"200\"}]",
使用震动变压器
[
{
"operation": "modify-overwrite-beta",
"spec": {
"CREATIONDATETIME": "=substring(@(1,CREATIONDATETIME),0,19)"
}
},
{
"operation": "shift",
"spec": {
"sales": "extendedAttributes.salesValueOptions",
"status": {
"SUBMITTED": {
"#submitted": "key6"
}
}
}
},
{
"operation": "modify-default-beta",
"spec": {
"key6": "pending"
}
}
]
需要输出
{
"sales": {
"option1": "Britannia",
"value1": "0",
"option2": "cadbury",
"value2": "0",
"option3": "Parle",
"value3": "0"
}
}
我已经尝试了 JOLT github 帮助页面上提供的不同 JsonSpecs。但我无法解决这个问题。任何帮助或指示将不胜感激。
解决方案
颠簸规格:
[
//First remove the NoneOfTheAbove Element from the array
{
"operation": "shift",
"spec": {
"sales": {
"*": {
"Option": {
"None of the above": null,
"*": {
"@2": "filteredOutput"
}
}
}
}
}
},
// then map the output accordingly
{
"operation": "shift",
"spec": {
"filteredOutput": {
"*": {
"Option": "sales.option&1",
"value": "sales.value&1"
}
}
}
}
]
输出:
{
"sales" : {
"option0" : "Britannia",
"value0" : "0",
"option1" : "Cadbury",
"value1" : "0",
"option2" : "Parle",
"value2" : "0"
}
}
请尝试让我知道是否有任何问题。
推荐阅读
- git - 仅为 git log 设置漂亮的格式
- linux - 阻止用户查看公用文件夹
- python - 将渐变样式应用于多个子集中的 pandas DataFrame
- c# - 在 IServiceCollection.AddLogging (C#/.net Core) 中获取服务
- c# - Unity GameObject OnclickEvent
- mongodb - 在节点/快递中包含插入的数据(如 ObjectId)以响应
- docker - kubernetes 无法转发端口
- r - 对基因表达数据中的簇数使用 NbClust 不起作用
- lua - 我如何在这个 roblox lua 脚本中修复多人游戏?
- python - 为什么当使用带有 pd.Series 的变换构造时出现错误:长度不匹配