• V
 

获取解析后的 JSON 响应

问题

您想要将 HTTP 请求的 JSON 响应返回为已解析的 Javascript 对象。

解决方案

HTTP Request 节点默认会将 JSON 响应的主体作为字符串返回在 msg.payload 中。 将该节点的 Return 配置更改为 一个解析后的 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"]]}]

我们通过更改 HTTP Request 节点的配置,重新配置了来自 设置请求 URL 的食谱 的流。 Debug 节点已被修改为仅显示解析的 JSON 响应的 title 属性:

"qui est esse"

讨论

如果您的 HTTP 请求返回 XML,则可以使用 XML 节点从 XML 文档中解析 Javascript 对象。