【问题标题】:How can I take this API and turn it into a JS object我怎样才能把这个 API 变成一个 JS 对象
【发布时间】:2017-11-14 10:57:24
【问题描述】:

我正在尝试使用这个 api:https://newsapi.org/v1/articles?source=techcrunch&sortBy=top&apiKey=9a9c9037fecf4bcb9e49ffa581f8713b 并将其分配给 JS 中的变量,如果我在浏览器的控制台内使用 console.log(variable),它将给我一个与 api 相关的树。这可能是一个可怕的解释,所以这是我想要得到的图片: https://imgur.com/a/nhJU5

贫瘠代码:https://imgur.com/a/Nq7gS src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' 在 HTML 中 我在以前制作的 RSS 应用程序中使用了这个 Yahoo YQL,但显然它在这个应用程序上不一样

【问题讨论】:

  • 我假设您收到的是字符串化响应,因此您只需将其解析为变量var response = JSON.parse(response);
  • 不确定我是否将整个 url 粘贴到 JSON.parse() 中,但我得到 Uncaught SyntaxError: Uncaught SyntaxError: Unexpected token h in JSON at JSON.parse () at js.js 的位置 0 :3 当我这样做时
  • 你试过搜索吗?像 Ajax / fetch / 从 javascript 调用 api?
  • 哦,所以你还没有调用它。请发布一些代码
  • 这是有效的 json。 var response = JSON.parse(response); 应该可以工作,除非 ajax 调用明确声明返回 json,在这种情况下响应变量应该已经是 json。显示一些代码和一些console.log()

标签: javascript json


【解决方案1】:
var variable;
function reqListener () {
  variable=oReq.response;
  console.log(variable);
}

var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.responseType="json";
oReq.open("GET", "https://newsapi.org/v1/articles?source=techcrunch&sortBy=top&apiKey=9a9c9037fecf4bcb9e49ffa581f8713b");
oReq.send();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    相关资源
    最近更新 更多