/**
* @description: 处理JSON报文中的"name"和"val"字段
* @param {any} value - 报文数据
* @param {string} msgType - 消息类型,值为'received'或'publish'
* @param {number} index - 消息索引,仅在用于发布消息且启用定时消息时有效
* @return {any} - 处理后的数据
*/
function handlePayload(value, msgType, index) {
value = JSON.parse(value);
if (msgType) {
// 处理接收到的消息
if (value && value.body) {
const result = value.body.map(item => {
let res = {
name: item.name,
val: item.val
};
return item.name+" = "+item.val;
});
let str = value.token+","+JSON.stringify(result,null, 0);
str = str.replace(/ /g, '\t').replace(/,/g, '\n').replace(/[\[\]\"]/g, '');
return str;
}
}
// 如果是发布消息或其他情况,原样返回
return value;
}
// 执行处理函数
execute(handlePayload);
输入
{
"token": "123",
"timestamp": "2023-10-24T13:33:35.746+0800",
"body": [{
"name": "UA",
"val": "0.0"
}, {
"name": "UB",
"val": "0.0"
}]
}
输出
123
UA = 0.0
UB = 0.0