为 AWS IoT 格式化 JSON 字符串
Formatting JSON string for AWS IoT
当我尝试从变量发布温度值时,我从 AWS 控制台收到 "JSON format error";这工作正常:
mosquitto_pub -t $aws/things/my-xxxx/shadow/update -m '{"state": {"desired":
{"temperature": 1 }}}' -q 1
我想用一个变量替换“1”,所以我用 mosquitto_pub 等创建了一个 shell,我想将一个参数传递给 shell ,调用“./publish.sh Temperature_Value”,其中温度值是一个整数:
尝试这个我从 AWS 控制台收到错误:
DATA=
mosquitto_pub -t $aws/things/my-xxxx/shadow/update -m '{"state": {"desired":
{"temperature": $DATA }}}' -q 1
我做错了什么?
谢谢
你的转义是错误的。这是正确的转义:
mosquitto_pub -t $aws/things/my-xxxx/shadow/update -m "{\"state\": {\"desired\":
{\"temperature\": }}}" -q 1
请记住,单引号 ' 内的变量不会被插值。
此致!
当我尝试从变量发布温度值时,我从 AWS 控制台收到 "JSON format error";这工作正常:
mosquitto_pub -t $aws/things/my-xxxx/shadow/update -m '{"state": {"desired":
{"temperature": 1 }}}' -q 1
我想用一个变量替换“1”,所以我用 mosquitto_pub 等创建了一个 shell,我想将一个参数传递给 shell ,调用“./publish.sh Temperature_Value”,其中温度值是一个整数:
尝试这个我从 AWS 控制台收到错误:
DATA=
mosquitto_pub -t $aws/things/my-xxxx/shadow/update -m '{"state": {"desired":
{"temperature": $DATA }}}' -q 1
我做错了什么? 谢谢
你的转义是错误的。这是正确的转义:
mosquitto_pub -t $aws/things/my-xxxx/shadow/update -m "{\"state\": {\"desired\":
{\"temperature\": }}}" -q 1
请记住,单引号 ' 内的变量不会被插值。
此致!