gpt4 book ai didi

javascript - Node.js 中的 JSON.parse 问题

转载 作者:行者123 更新时间:2023-12-01 04:00:03 25 4
gpt4 key购买 nike

我正在对返回简单 JSON 对象的 URL 执行 get 请求。

这是网址:http://live.albiononline.com/status.txt

正如您所看到的,它是一个文本文件,其内容类型标题是文本/纯文本。当我收到正文日志时,它是:

{ "status": "在线", "message": "一切顺利。"}

但是当我尝试记录时,body.status 是未定义的。当我执行 var data = JSON.parse(body); 然后 console.log(data.status); 我得到:

undefined:1
{ "status": "online", "message": "All good." }
^

SyntaxError: Unexpected token in JSON at position 0

知道发生了什么吗?我认为这与它从 .txt 文件中提取有关?

更新:

request('http://live.albiononline.com/status.txt', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body); // { "status": "online", "message": "All good." }
console.log(body.status); // undefined
}
});

最佳答案

原因是因为输出不是字符串化的 JSON 对象,它只是一个普通字符串。

我在处理示例代码时得到的输出:

'{ "status": "online", "message": "All good." }\r\n'

真正的 JSON 字符串末尾不会有多余的空格和转义字符。

解决方案:

x=x.trim(); // trimming off the \r\n
var output = JSON.parse(x); // parsing the JSON

关于javascript - Node.js 中的 JSON.parse 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266633/

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