设备输出的数组格式如下,如何写payload规则输出字段呢?

[{“c”:3,“v”:{“va”:224.2,“ia”:0.135},“i”:1}]
这个是设备发过来的数组,我想输出va、vi、i字段
payload.v.va as va, payload.v.ia as ia, payload.i as i,输出的全是undefined

这是一个array,,不是个 object 你得加一层
要处理array 中的每一个元素,推荐看看 FOREACH 规则引擎语法与示列 | EMQX 企业版 4.4 文档
如果只是达到你上面的效果,应该是:

SELECT
  payload[1].v.va as va, payload[1].v.ia as ia, payload[1].i as ia
FROM
  "t/#"

感谢!

{“1”:{“i”:1,“v”:{“ia”:0,“va”:225},“c”:3},“a”:“104.0552894”,“b”:“30.6236396”}
新的设备带了经纬度,就是这个a、b。更复杂了,怎么写输出payload呢?我确实不会slq语句哈