gpt4 book ai didi

javascript - 无法从 Hacker News API 调用 JSON 数据

转载 作者:行者123 更新时间:2023-12-01 02:39:30 25 4
gpt4 key购买 nike

我正在尝试使用 Hacker News API ,我可以调用该 API 并发出获取故事的请求。根据他们的 API 文档,源 URL 必须包含 ID(必需)才能访问故事的内容,我在控制台中获取正确的 URL,单击 URL 会给出适当的 JSON,但除此之外我无法使用/调用JSON 内容,如作者姓名、标题等

JS CODE:

var records;
var userRecords;
var fileJson;
var startRequest = new XMLHttpRequest();
var sourceUrl = "https://hacker-news.firebaseio.com/v0/";
var sourceUrlAdd = "showstories.json";
var finalURL = sourceUrl + sourceUrlAdd;

startRequest.open("GET",finalURL);
startRequest.onload = function() {
fileJson = JSON.parse(startRequest.responseText);
for(var i = 0 ; i < fileJson.length; i++) {
userRecords = sourceUrl + fileJson[i] + ".json";
}
}
startRequest.send();

如何让它发挥作用?

最佳答案

查看以下信息:GitHub

循环中的 URL 应修改为:

    for(var i = 0 ; i < fileJson.length; i++) {
userRecords = sourceUrl + "/item/" + fileJson[i] + ".json";
}

您的代码看起来并不完整,因为如果您想存储它们,循环只会覆盖每次迭代的 userRecords:

    userRecords = [];
for(var i = 0 ; i < fileJson.length; i++) {
userRecords.push(sourceUrl + "/item/" + fileJson[i] + ".json");
}

上面将为您提供一个包含所有结果的数组。

例如,这是 userRecords 数组中第一项的内容:

    {"by":"ntrippar"
,"descendants":45
,"id":15853345
,"kids"[15858055,15854752,15856479,15854664,15858253,15856298,15854305,15855332,15858118,15857061,15854116]
,"score":159
,"time":1512494533
,"title":"Show HN: SeKey: An SSH Agent for OS X, Using Secure Enclave and TouchID, in Rust"
,"type":"story"
,"url":"https://github.com/ntrippar/sekey"}

如果你解析上面的内容,它将转换为一个对象。

关于javascript - 无法从 Hacker News API 调用 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47668349/

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