如何在这个 api 中访问这个 json 对象?

Posted

技术标签:

【中文标题】如何在这个 api 中访问这个 json 对象?【英文标题】:How do I access this json object inside this api? 【发布时间】:2018-10-23 08:40:25 【问题描述】:

我正在尝试访问 api 中的项目,以便我可以开始从 json 文件中获取数据,但我似乎无法得到任何工作。我无法记录我试图访问控制台的任何数据。

  $(function() 

  $.ajax(
    type: 'GET',
    url: "xxx",
    dataType: 'json',
    success: function(data) 
      return console.log('success', data);
      return console.log(data[0].id);
    ,
    beforeSend: function(xhr, settings) 
      xhr.setRequestHeader('Authorization', 'Bearer ' + 'xxx');
    
  );
);

【问题讨论】:

看起来有 2 个 data ... 你试过 data[0].data[0].id ... 还是,也提供 JSON 您的变量名为data,它是一个拥有data 属性的对象。试试data.data[0].id 我删除了退货并将其更改为 data.data[0].id;太感谢了!我的控制台实际上说了些什么!哈 【参考方案1】:

它不起作用,因为您在第二个 console.log 之前返回。 return 语句用于在该行退出函数并返回该行其余部分的值。您正在返回,然后在返回后尝试做一些实际上从未运行过的事情。

https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Statements/return

删除返回语句,它应该可以工作。

$.ajax(
    type: 'GET',
    url: "xxx",
    dataType: 'json',
    success: function(data) 
      console.log('success', data);
      console.log(data[0].id);
    ,
    beforeSend: function(xhr, settings) 
      xhr.setRequestHeader('Authorization', 'Bearer ' + 'xxx');
    
);

【讨论】:

天哪,非常感谢。我今天早上花了 4 个小时在谷歌上搜索这个。老实说,如果我能给你买啤酒,我会的。 @branhillsdesign 如果这个答案有效,请您接受它让其他人知道【参考方案2】:

1) 在将 Id 记录到控制台之前返回有问题,因为在记录 Id 之前返回它,return 语句会结束函数执行。所以删除 return 就可以了

2) 你真的不需要 console.log() 一切你可以放一个 'debugger;' 而不是 return,你可以用打开的控制台窗口重新加载页面,它将在调试器处暂停代码执行;,您可以将鼠标悬停在成功函数中接收到的“数据”上,以查看在成功的 AJAX 调用中接收到的所有数据.希望这会有所帮助

【讨论】:

以上是关于如何在这个 api 中访问这个 json 对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vue 和 Axios 中循环访问 API 端点 JSON 对象?

尝试访问 Api 数组中的对象并计算长度

Symfony 5 - 如何在 JSON 中操作序列化对象

如何处理空的 JSON 对象?

如何访问 PHP 中的 JSON 元素,如数组对象?

如何使用 Angular 访问 JSON 中的特定对象?