微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 Mqtt5 有效负载转换回 JSON

如何解决如何将 Mqtt5 有效负载转换回 JSON

如何将 Mqtt5Publish.getPayloadAsBytes() 转换为格式正确的 JSON 字符串?

获取这样发布的消息:

'{"SampleData0": "1.2.3","SampleData1": "4.5.6"}'

订阅者获得它时恢复到相同的格式。

我使用的是 Java 中的 HiveMQTT 客户端库。

解决方法

我的问题实际上是由发布者的一些不正确的 JSON 格式引起的。发布者客户端将 JSON 发送为:

"{"SampleData0": "1.2.3","SampleData1": "4.5.6"}"

然而,这意味着当我的订阅者客户端收到有效负载并将其从字节数组转换为 JSON 字符串时,有效负载将如下所示:

{SampleData0: 1.2.3,SampleData1: 4.5.6}

为了解决这个问题,我让发布商客户端发送:

'{"SampleData0": "1.2.3","SampleData1": "4.5.6"}'

注意使用单引号 ' 字符而不是双引号,这会转义双引号字符 ",以便在字节数组转换回 JSON 时它们仍然存在,使用 new String(mqtt5Publish.getPayloadAsBytes())

时给出这个格式正确的 JSON 字符串
{"SampleData0": "1.2.3","SampleData1": "4.5.6"}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。