AWS IoT JSON错误

时间:2017-01-09 23:53:53

标签: json http amazon-web-services iot

我正在尝试使用Skywire LTE Cat 1调制解调器(http://nimbelink.com/skywire-4g-lte-cat-1/)来更新AWS IoT上的事物阴影。我让设备通过HTTP与AWS通信,并且能够根据他们的教程执行GET命令。

现在我正在尝试执行POST命令来更新我的东西的阴影。但是,每当我尝试发送POST命令时:

POST /things/AWS_Test_Thing/shadow HTTP/1.1
BODY: {"state":{"reported":{"Temp":55}}}

AWS向我发送以下错误:

HTTP/1.1 Bad Request
{"message":"Payload contains invalid json","traceId":"e53be1d6-7967f52c-4dd6-d7b95cc20628"}

我之前从未使用过JSON,但是我可以从中收集,

{"state":{"reported":{"Temp":55}}} 

应该是有效的JSON并且符合AWS IoT文档(http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-document-syntax.html#thing-shadow-example-request-json)。我错过了什么?

2 个答案:

答案 0 :(得分:0)

如果您通过POST请求更新阴影,则应该有“所需”语句而不是“已报告”。

答案 1 :(得分:0)

确保在请求和签名过程中包含Content-Length标头。 Content-Length必须反映您要发送的JSON有效负载的大小。