Templateノードを使う(その2)
前回に引き続きTemplateノードを使ってみます。
JSON形式のテンプレート
最初のサンプルは「flows > node-red > function > template > 02 - Parse result as JSON」です。Templateノードのプロパティを見てみます。ポイントは以下の2点です。
- テンプレートがJSON形式で記述されている
- 出力形式の設定がJSONになっている
実行結果は以下の通りで、msg.playloadにテンプレートが適用されたJSONオブジェクトが格納されていることが確認できます。
YAML形式のテンプレート
次のサンプルは「flows > node-red > function > template > 03 - Parse result as YAML」です。先程と同じくTemplateノードのプロパティを見てみます。ポイントは以下の2点です。
- テンプレートがYAML形式で記述されている
- 出力形式の設定がYAMLになっている
実行結果は、先程のサンプル02と同じく、msg.payloadにテンプレートが適用されたJSONオブジェクトが設定されます。
ここで違和感があったのが「出力形式」の設定が違っていてもmsg.payloadに設定される結果は変わらないということです。「出力形式」って表現から、msg.payloadにテンプレートを適用した結果の形式がYAMLになるものだと勘違いしていましたが、どうやらそうではなく、テンプレートを適用した結果をどういう形式で扱うかってことみたいです。例えば、HTML形式のテンプレートを書きたい場合は、出力形式を平文に設定しておけばいい感じかもしれません。それにしても、ユーザに選択させる必要性がよくわかりませんでした。自動で認識してよって感じです。
まとめ
まとめます。
- 「出力形式」はTemplateノードの出力形式を変更するものではなく、テンプレートを適用した結果をどういう形式で扱うか指定するもの
- 出力形式は平文、JSON、YAMLをサポートしている
- 利用者に出力形式を選択させる意味がよくわからない(自動で認識して欲しい)
コメント
コメントを投稿