You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mosquitto发布JSON消息时订阅端接收无引号导致格式失效的问题求助

Mosquitto发布JSON消息时订阅端接收无引号导致格式失效的问题求助

问题描述

我尝试用Mosquitto发布者通过-m参数发送JSON格式的消息,但订阅端收到的消息里所有键都丢失了双引号,导致消息不再是合法的JSON格式。

发布端操作截图:
Publisher

订阅端接收消息截图:
Subscriber

我期望收到的是类似{"Location":14.647291}这样的合法JSON格式。

解决方案

这是因为shell会解析你输入的双引号,导致实际发送的消息里已经丢失了引号。给你两种靠谱的解决办法:

  • 方法一:用单引号包裹整个JSON内容
    把要发送的JSON用单引号括起来,shell就不会解析里面的双引号了,示例命令:

    mosquitto_pub -t your/topic -m '{"Location":14.647291, "OtherKey": "testValue"}'
    
  • 方法二:转义双引号
    如果你习惯用双引号包裹内容,需要在每个双引号前加反斜杠\来转义,示例命令:

    mosquitto_pub -t your/topic -m "{\"Location\":14.647291, \"OtherKey\": \"testValue\"}"
    

两种方法都能确保订阅端收到带双引号的合法JSON消息,更推荐第一种,写法简洁不容易出错。

备注:内容来源于stack exchange,提问作者Antonio Danglar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 12:09:31