利用规则引擎SQL:
SELECT
jq(
'{type: .Payload[0].DataType | split(“-”)[0],
body: {keywords: .Payload[0].DataType | split(“-”)[1],
param: .Payload[0].Data | map({(.Param): .Value | tonumber}) | add}}
',
payload
) as pd
FROM
“RUNING/System/Publish”
实现将:
{
“MessageId”: “Recipe#BZ-2008-010691#1737601376510”,
“Command”: 3,
“Payload”: [
{
“DataType”: “cfg-timer”,
“Data”: [
{
“Param”: “id”,
“Value”: “2”
},
{
“Param”: “minute”,
“Value”: “510”
},
{
“Param”: “week”,
“Value”: “3”
},
{
“Param”: “switch”,
“Value”: “1”
},
{
“Param”: “enable”,
“Value”: “1”
}
]
}
]
}
如何转换成:
{
“type”: “cfg”,
“body”: {
“param”: {
“week”: 3,
“switch”: 1,
“minute”: 510,
“id”: 2,
“enable”: 1
},
“keywords”: “timer”
}
}
目前因为JQ返回的是数组列表,无法满足需求