mosquitto_pubでJSONを送りたい
MQTTBrokerであるmosqiuttoに付属するmosquiotto_pubでJSONを送信しようとしたのですが、ハマったのでメモ
mosquitto_pub
mosquitto_pubはMQTTプロトコルでメッセージを送信することが可能なプログラムです。
以下のようにホスト、ポート、トピック名、メッセージを指定してメッセージを送信することが出来ます。
(-dはデバッグ)
mosquitto_pub.exe -h 127.0.0.0 -p 1803 -t my/topic -m aaaaa -d
jsonが送れない、、、
mosquitto_pubで送信したメッセージをmqtt.jsで受け取って処理しようとしたのですが、以下のようなエラーがでて苦しみました。
SyntaxError: Unexpected token i in JSON at position 1
at JSON.parse (<anonymous>)
原因は単純でした
30分ほど苦しんでいろいろと試したのですが、原因はエスケープをちゃんとしてなかったという単純な理由でした、、、メッセージ内で使用するダブルクォーテーションは以下のようにバックスラッシュでエスケープしましょう。
-m {\"id\":1}