1

一些 Watson IoT 示例在设备负载中使用广告{"d":{"temp":20}}。就像这里嵌入的 c : :

"{\"d\" : {\"temp\" : 34 }}"

其他人不使用这个 d,他们只是发送 format {"temp":20}。像这个java 示例:

//Generate a JSON object of the event to be published
                  JsonObject event = new JsonObject();
                  event.addProperty("name", "foo");
                  event.addProperty("cpu",  90);
                  event.addProperty("mem",  70);

两者都有效,但我遇到过由于下游应用程序失败而不得不放入广告的情况 - 他们说这是 api 规范的一部分。我找不到它实际上是任何规范的一部分。d还是不d,这是个问题?

4

1 回答 1

1

所有数据都在顶级“d”元素下承载,并且存在一个可选的“ts”元素,其中包含消息的时间戳。如果不存在 ts 元素,则时间戳默认为收到消息的时间。

根据 IoT 团队的 Bryan所说

IoT Foundation 没有明确要求 JSON 有效负载中的“d”顶级属性,但它确实鼓励这种格式以允许 IoT Foundation 对数据在有效负载中的组织方式做出一些假设。如果未遵循 IoT Foundation 有效负载格式,我们在文档中将其称为“自定义有效负载”。IoT Foundation 将允许您发布自定义有效负载...

于 2017-04-04T12:32:17.083 回答