Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
【AT】MQTT发布JSON出错的应对策略
AT指令
AT
mqtt
转义双引号,顺利收发payload。
开发者使用AT进行开发时,发布如下的json时,经常会出现ERROR: ```lua → AT+MPUB="data",0,0,“{“test”:1}” ← ERROR ``` 那么为什么出现这个问题呢?实际上时因为payload的双引号有误导致的。一般,写代码时,遇到这种情况,我们都使用如下方式规避: ```lua > a = "abc".."cef\"ghi\"jkl" > print(a) abccef"ghi"jkl ``` #但是,AT开发怎么办呢? 同样的,我们也应该转义——使用**\22**代替所有payload的**双引号**。 ``` → AT+MPUB="data",0,0,“{\22test\22:1}” ```
有的开发者可能不太理解,为什么是\22呢?实际上很简单啦,十六进制hex转十进制是34,ascii表中,34对应的就是双引号啦。 ```lua > print(tonumber("22", 16)) 34 > print(string.char(34)) " ``` #问题又来了,单片机端C代码中如何生成\22呢? 如果使用字符串,字符串内对\也需要转义处理,例如"\\\22"才表示\22三个字节的字符串。
发表于 2018-10-30 18:44
阅读 ( 4014 )
分类:
默认分类
0 推荐
打赏
收藏
你可能感兴趣的文章
11、RDA8910CSDK二次开发:新鲜出炉的MQTT库
7861 浏览
Air系列4G模块AT版本MQTT应用说明
6319 浏览
Air系列AT控制命令,针对STM32F103C8T6的示例代码
4623 浏览
教你用Air720 模块通过AT指令以MQTTS方式连接华为云(下篇)
4421 浏览
教你用Air720 模块通过AT指令以MQTTS方式连接华为云(上篇)
6126 浏览
腾讯云通信参数计算工具
1940 浏览
相关问题
Air202模块连接阿里云MQTT,如何用Lua计算password?
0 回答
使用AT指令连接阿里云,上报数据是老回复ERROR58或765,这是什么问题
1 回答
Air202如何发送电子邮件?
1 回答
怎么在MQTT SSL连接时的添加自己ca证书验证
1 回答
air202,用mqtt协议连接onenet平台(lua)。
1 回答
Air720H 怎样通过 MQTT服务发送图片?
1 回答
1 条评论
请先
登录
后评论
技术销售Delectate
43 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!