gpt4 book ai didi

javascript - 使用 Firefox Scratchpad 与 node/JSFiddle 的 JSON.parse 结果不同

转载 作者:行者123 更新时间:2023-11-30 20:02:57 26 4
gpt4 key购买 nike

var primariesText, primaries;
//var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; //node
var requestURL = 'https://raw.githubusercontent.com/WFCD/warframe-items/development/data/json/Primary.json';
var request = new XMLHttpRequest();
request.open('GET', requestURL);
request.responseType = 'json';
request.send();
request.onload = function() {
primariesText = request.response;
//console.log(primariesText);
}
primaries = JSON.parse(JSON.stringify(primariesText[0]));
console.log(primaries);

我从 3 个解析器中尝试了这个脚本并得到了不同的结果:

当我在 Firefox 的暂存器中运行它时,它可以正常输出 JS 对象。

当我在节点或 JSFiddle 中运行它时 https://jsfiddle.net/bn56hspk/ , 我得到了

类型错误:无法读取未定义的属性“0”

指向 primariesText[0] 数组。

我把 [0] 放在那里的原因是为了去掉最外面的括号。我尝试了两个 primariesText[]

语法错误:意外的标记]

或primariesText

节点:

SyntaxError: JSON 中位置 0 的意外标记 u

JSFiddle:

语法错误:JSON.parse:JSON 数据第 1 行第 1 列出现意外字符

都不行。

我错过了什么?

最佳答案

这里的问题是您尝试在调用 onload 函数之前 解析 JSON。所以 primariesText 只是未定义。

在这里,我在 onload 函数中解析它并按预期工作(注意这里闭合的大括号 } 如何在代码末尾结束)

var primariesText, primaries;
//var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; //node
var requestURL = 'https://raw.githubusercontent.com/WFCD/warframe-items/development/data/json/Primary.json';
var request = new XMLHttpRequest();
request.open('GET', requestURL);
request.responseType = 'json';
request.send();
request.onload = function() {
primariesText = request.response;
//console.log(primariesText);

primaries = JSON.parse(JSON.stringify(primariesText[0]));
console.log(primaries)
}

关于javascript - 使用 Firefox Scratchpad 与 node/JSFiddle 的 JSON.parse 结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53179532/

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