gpt4 book ai didi

javascript - 如何从 Node.js 服务器读取 json 响应?

转载 作者:行者123 更新时间:2023-12-03 05:22:06 25 4
gpt4 key购买 nike

我有一个 NodeJS REST API。在该 API 中,我必须调用另一个第 3 方 API 来获取一些数据。它为我们提供了 JSON 格式的数据。这就是我将数据响应设置为 REST url 响应的方式。

request('http://dev.demo.com/api/v1/wow/getFreeviewLoginAndCallAPI/123', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
res.json(body);
}

});

然后我得到了这样的回复。

"{\"Response\":{\"@attributes\":{\"Package\":\"MONTHLY\",\"Surname\":\"Taylor\",\"CSN\":\"104801\",\"Email\":\"adam.taylor@gmail.com\",\"MiscInformation\":\"\",\"Message\":\"CUSTOMER_ACTIVE\"}},\"Submission\":{\"@attributes\":{\"SubmitterRef\":\"0778798654\",\"Submitter\":\"demoName\"}}}"

但是当我在浏览器中使用该第 3 方 URL 时,我会得到干净且漂亮的 JSON 输出。就像下面这样。

(不带\符号)

没有其他“\”符号,而且很干净。我需要做的是访问此响应的一些值。在 Node js中。我需要发送如下回复。

res.json(body.Response);

但它是空的。我还需要将所有这些值传递给变量。我怎样才能做到这一点?

最佳答案

来自第三方 API 的响应是字符串,您可能需要在发送到客户端之前进行解析。

request('http://dev.demo.com/api/v1/wow/getFreeviewLoginAndCallAPI/123', function (error, response, body) {
if (!error && response.statusCode == 200) {
res.json( JSON.parse(body));
}});

不能直接使用body.Response,因为它的字符串不是对象,首先解析它然后发送给客户端,如

var json = JSON.parse(body); 
res.json(json.Response);

关于javascript - 如何从 Node.js 服务器读取 json 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41333543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com