• V
 

レスポンスをJSONにパース

課題

HTTPリクエストに対して、パースされたJavaScriptオブジェクトとしてのJSONレスポンスを返したい。

解決

HTTP Request ノードはデフォルトで、msg.payloadに文字列としてJSONレスポンスを返します。 このノードの 出力形式 設定を JSON オブジェクト に変更して、 後続のノードがアクセスしやすいよう msg.payload をJSONのレスポンスにします。

[{"id":"14c60a10.794df6","type":"http request","z":"c9a81b70.8abed8","name":"","method":"GET","ret":"obj","url":"https://jsonplaceholder.typicode.com/posts/{{post}}","tls":"","x":390,"y":500,"wires":[["b4ea8dd4.61a05"]]},{"id":"b4ea8dd4.61a05","type":"debug","z":"c9a81b70.8abed8","name":"","active":true,"console":"false","complete":"payload.title","x":570,"y":500,"wires":[]},{"id":"3479192a.04f016","type":"inject","z":"c9a81b70.8abed8","name":"post id","topic":"","payload":"2","payloadType":"str","repeat":"","crontab":"","once":false,"x":90,"y":500,"wires":[["e69250cf.368fd"]]},{"id":"e69250cf.368fd","type":"change","z":"c9a81b70.8abed8","name":"","rules":[{"t":"set","p":"post","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":230,"y":500,"wires":[["14c60a10.794df6"]]}]

上記の例はリクエスト先URLをセットするレシピから HTTP Request ノードの設定を変更したものです。 Debug ノードも、JSONレスポンスの title プロパティだけを表示するよう変更されています。

"qui est esse"

議論

XMLでレスポンスがほしい場合は、XML ノードを使用して、JSONからXMLに変換します。