You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JSON接口返回的多条数据中仅获取最新的单个ID?

如何从JSON接口返回的多条数据中仅获取最新的单个ID?

嘿,新手遇到这种问题太正常啦,别着急~我来帮你捋捋:

你现在的代码用map遍历了所有的Clips,把每个ID都取出来拼接成字符串,所以会输出所有ID。你之前试的[:1]和[0]没成功,大概率是用错地方了——你是在map之后加的,那时候已经把所有ID转成数组了,再取[0]只是拿到第一个ID,而且如果接口返回的最新ID不是第一个的话,自然就不对啦。

正确的做法是直接从Clips数组里拿单个最新元素的ID,不用遍历所有。步骤如下:

  1. 先确认接口返回的Clips数组是怎么排序的:通常这类接口要么把最新的放在数组最后(正序),要么放在最前面(倒序)。你可以先在回调里加一行console.log(data.Clips),打开浏览器控制台看看每个Clip里的时间字段(比如有没有PublishedDate之类的),确认哪个是最新的。
  2. 根据排序方式直接取对应元素的ID:

比如如果最新的是数组最后一个元素:

$(document).ready(function() {
  // FETCHING DATA FROM JSON FILE
  $.getJSON("https://api.omny.fm/orgs/56ccbbb7-0ff7-4482-9d99-a88800f49f6c/programs/a49c87f6-d567-4189-8692-a8e2009eaf86/clips/",function(data) {
    // 先判断数组是否存在且不为空,避免报错
    if (data.Clips && data.Clips.length > 0) {
      // 取最后一个Clip的ID(假设最新的在最后)
      const latestId = data.Clips[data.Clips.length - 1].Id;
      $('#table').html(latestId);
    } else {
      $('#table').html('暂无可用ID');
    }
  });
});

如果最新的是数组第一个元素,就把data.Clips[data.Clips.length - 1].Id改成data.Clips[0].Id就行。

另外加个小提醒:一定要加数组非空判断哦,不然如果接口返回空数组,代码会直接报错,新手很容易漏掉这个细节~

备注:内容来源于stack exchange,提问作者AndorBird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:43:09