我在使用BC20的QuecOpen编程发送MQTT消息,我可以成功通过QMTCFG, QMTOPEN和QMTCONN命令建立连接。当我试图发布publish JSON格式的消息时出错:
如下命令:AT+QMTPUB=0,2,1,1,"/sys/aaa/bbb/thing/event/property/post",{“params”:{“lcapr”:2, “key”: “xx”}}
- 当我用双引号包括消息体**{**“params”:{“lcapr”:2, “key”: “xx”}}时,消息能发送成功,但会被消息体中第一个双引号截断 - 只能发送第一个大括号到服务器,params前的双引号被认为是参数结束。
- 当我不用双引号包围消息体时,消息体又会被JSON格式中的第一个逗号截断(貌似AT命令的解析以逗号位标记),如上消息,只有{“params”:{“lcapr”:2会被上传。
我也试过对双引号转义,如<">, <\">, <\22>, <\\22>等,都不奏效,转义符号无法被识别,或者原样发送到服务器。
请问怎样在这个场景下发送JSON格式的消息体payload?
注意包含多个元素,即包含逗号。