使用 Javascript 解析来自 Api GET 请求的 JSON 数据
Parsing JSON data from Api GET request with Javascript
我正在编写一个脚本,该脚本使用 XHR 从 API 调用中获取 JSON 数据。到目前为止,我能够获取数据并将 json 文本解析为变量。此变量作为包含多个对象的数组返回。我在访问此对象时遇到问题。
我在网上查找了类似的问题,似乎访问的方式是使用 dot/bracket 符号和 for 循环来遍历数组并输出值。但是,使用我当前的代码,它不起作用。我的最终目标是使用数组中的这些值并将它们附加到 div。任何人都可以指出我做错了什么吗?
代码示例:
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
let toBeFormated = xmlHttp.responseText;
let formatted = JSON.parse(toBeFormated);
//console.log(formatted); UP TO HERE CONSOLE.LOG WORKS
for (let i = 0; i < formatted.data.length; i++) {
console.log(formatted.data.length[i]);
}
}
}
这是来自控制台的示例数据:
array output from console
您应该使用以下 console.log(formatted.data[i]);
而不是 console.log(formatted.data.length[i]);
。这里 formatted.data
是数组。而formatted.data.length
是一个代表数组长度的数字。
我正在编写一个脚本,该脚本使用 XHR 从 API 调用中获取 JSON 数据。到目前为止,我能够获取数据并将 json 文本解析为变量。此变量作为包含多个对象的数组返回。我在访问此对象时遇到问题。
我在网上查找了类似的问题,似乎访问的方式是使用 dot/bracket 符号和 for 循环来遍历数组并输出值。但是,使用我当前的代码,它不起作用。我的最终目标是使用数组中的这些值并将它们附加到 div。任何人都可以指出我做错了什么吗?
代码示例:
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
let toBeFormated = xmlHttp.responseText;
let formatted = JSON.parse(toBeFormated);
//console.log(formatted); UP TO HERE CONSOLE.LOG WORKS
for (let i = 0; i < formatted.data.length; i++) {
console.log(formatted.data.length[i]);
}
}
}
这是来自控制台的示例数据: array output from console
您应该使用以下 console.log(formatted.data[i]);
而不是 console.log(formatted.data.length[i]);
。这里 formatted.data
是数组。而formatted.data.length
是一个代表数组长度的数字。