gpt4 book ai didi

javascript - 从 nodejs 的 https 请求访问 json 响应数据的问题

转载 作者:行者123 更新时间:2023-11-30 19:49:06 25 4
gpt4 key购买 nike

我使用 NodeJS 的原生 https 模块编写了一个 HTTPS 函数,以从 API 获取一些 JSON。

当我执行 GET 请求时,我得到的 JSON 很好,但是当我必须发出 PUT 请求时,我得到了 JSON,但我无法将其转换为对象。

GET 的回答:

{
items: [
{ dsname: 'A09999' },
{ dsname: 'A09999.ALLFILES.TEMP' },
],
returnedRows: 16,
JSONversion: 1
}

来自 PUT 的回答:

{
'cmd-response-key': 'C8124546',
'cmd-response-url':'https://myhost/zosmf/restconsoles/consoles/ibmusecn/solmsgs/C8124546',
'cmd-response-uri': '/zosmf/restconsoles/consoles/ibmusecn/solmsgs/C8124546',
'cmd-response':
' IEE457I 16.32.55 UNIT STATUS 464\r UNIT TYPE STATUS VOLSER' }

我的代码:

const makeRequest = options =>
new Promise(function(resolve, reject) {
let results = https.request(options, res => {
res.setEncoding('utf8');
let body = '';

res.on('data', data => {
body += data;
});
res.on('end', () => {
body = JSON.parse(body);
console.log('body :', body);
resolve(body);
});
});
if (options.body) {
// results.write(options.body);
results.write(JSON.stringify(options.body),['Transfer-Encoding', 'chunked']);
}
results.on('error', e => {
reject(e);
});
results.end();
});

最佳答案

那么您从帖子中得到的不是有效的 json 对象。就在这里:

'cmd-response':
' IEE457I 16.32.55 UNIT STATUS 464\r UNIT TYPE STATUS VOLSER'' }

请注意最后,VOLSER 后面是 to ''。这将结束以该值开头的字符串并打开一个新字符串。这是无效的 JSON。

此外,我建议使用像 axios 这样的库或来自 npm 的请求。写得好,用的广,还不如直接用https模块低级。

关于javascript - 从 nodejs 的 https 请求访问 json 响应数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656714/

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