Apache nifi 在Jolt中,如何基于jsonarray值进行选择
在基于jsonarray值的JOLT中,应添加输出键和值。 在输出的CO2值、CO值、O3值应基于环境值中的参数值。那么,如何应用上述过滤器 输入有效载荷为:Apache nifi 在Jolt中,如何基于jsonarray值进行选择,apache-nifi,jolt,Apache Nifi,Jolt,在基于jsonarray值的JOLT中,应添加输出键和值。 在输出的CO2值、CO值、O3值应基于环境值中的参数值。那么,如何应用上述过滤器 输入有效载荷为: { "id":"abcd", "env_values":[ { "param":"CO2", "values":"20.0" }, { "param":"CO", "values":"21.0" }, { "param":"O3",
{
"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"
}
希望这是你想要的。首先,我们将在键中添加“_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)"
}
}
}
}
]