在JOLT中,应基于jsonarray值添加输出键和值。 在输出CO2_VAL,CO_VAL,O3_VAL中,应该基于env_values中的参数值。因此,如何应用上述过滤器。
输入有效载荷为:
{
"id":"abcd",
"env_values":[
{
"param":"CO2",
"values":"20.0"
},
{
"param":"CO",
"values":"21.0"
},
{
"param":"O3",
"values":"22.0"
}
]
}
输出为:
{
"sl":"abcd",
"CO2_VAL":"20.0",
"CO_VAL":"21.0",
"O3_VAL":"22.0"
}
答案 0 :(得分:1)
希望这就是您所提到的。首先,我们在密钥中添加“ _VAL”。在第二个规范中,我们将键设置为值。最后,我们将每个键与值配对。
[
{
"operation": "shift",
"spec": {
"id": "s1",
"env_values": {
"*": {
"param": {
"*": "param[&2].t.&_VAL"
},
"values": "param[&1].values"
}
}
}
},
{
"operation": "shift",
"spec": {
"s1": "s1",
"param": {
"*": {
"t": {
"*": {
"$": "param[&3].key"
}
},
"values": "param[&1].value"
}
}
}
},
{
"operation": "shift",
"spec": {
"s1": "s1",
"param": {
"*": {
"value": "@(1,key)"
}
}
}
}
]