2017-04-04 6 views
1

一部のWatson IoTサンプルでは、​​デバイスのペイロードである{"d":{"temp":20}}が使用されています。 embedded cで、ここのよう:dにするかどうか、何がポイントですか?

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

その他、このDを使用していない、彼らは単に形式{"temp":20}に送ります。そして、彼らはそれがAPI仕様の一部であると言いました - このjava sample:

//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); 

のように仕事の両方が、私は、下流のアプリが失敗したとして、(d)に入れていた状況がありました。私はそれが実際には仕様の一部であることはわかりませんでした。 dにするかどうか、それは問題ですか?

答えて

2

すべてのデータは、最上位の "d"要素の下で運ばれ、メッセージのタイムスタンプを含むオプションの "ts"要素が存在します。 ts要素がない場合、タイムスタンプのデフォルトはメッセージが受信された時刻になります。

たIoT財団は、明示的にJSONペイロード内の「d」のトップレベルのプロパティを必要としない、しかしそれがIoTを財団を許可するには、このフォーマットを奨励ん:のIoTチームhereからブライアンによると

ペイロードにデータがどのように編成されているかについていくつかの仮定を行います。 IoT Foundationのペイロードフォーマットに従わない場合は、ドキュメントの「カスタムペイロード」と呼んでいます。 IoT Foundationは、カスタムペイロードを公開することを可能にします...

+0

ありがとう、実際には理由があります!おそらく、これらのd-lessサンプルを書いている人々は、これも認識しませんでした。 – amadain

関連する問題