[英]How to loop through JSON response in Javascript to get specific data
我正在学习如何使用 Javascript 发出 API 请求。
我发出了 GET 请求并获得了以下数据,我想遍历它们以仅获取id 、 display_name和email 。 这将存储在数组中。 我如何完成javascript代码?
"data": [
{
"id": 222226,
"display_name": "jane Doe",
"email": "janeDoe@testmail.com",
},
{
"id": 1111226,
"display_name": "james",
"email": "james@testmail.com",
},
{
"id": 11126,
"display_name": "Travis Mc",
"email": "travis@testmail.com",
},
这是我的 javascript 代码。
var options = {
method: 'get',
headers: {
Authorization: 'Bearer ' + auth
}
};
var response= UrlFetchApp.fetch(url, options);
var data = JSON.parse(response.getContentText());
我不确定我在做这个循环部分是否正确。
for (var i = 0; i < data.length; i++) {
Logger.log(data[i].display_name);
}
我将假设您正在使用Fetch Api 。 如果是这样,这意味着您正在创建一个 Promise。 使用 promise 时,您必须链接then函数来确定如何继续。 Promise.then((value)=>{ /* do something */ });
由于您正在处理 JSON 数据,因此您必须先对其进行解析,然后才能使其可用于 javascript。 如果你读了提取API,它说明了它是如何解决自己的诺言,并返回一个响应基于HTTP响应。
这个例子是从 Devloper Mozilla Org 借来的查看 Fetch API 的使用部分
fetch('http://example.com/movies.json')
.then((response) => {
return response.json();
})
.then((myJson) => {
console.log(myJson);
});
此示例说明了 fetch 函数如何解析返回响应的承诺,该响应被解析然后再次返回到另一个then函数,该函数现在可以处理已解析的数据。
在你的情况下,代码看起来像这样
var options = {
method: 'get',
headers: {
Authorization: 'Bearer ' + auth
}
};
var response = UrlFetchApp.fetch(url, options)
.then((r)=>{ return r.json(); }).then((data)=>{
for (let i = 0; i < data.length; i++) {
Logger.log(data[i].display_name);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.