jQuery - 通过 JSON 数组搜索

2024-01-03

我需要搜索 JSON 数据并找到包含“种类”“播放列表”的每个对象,然后遍历曲目并提取将放入 hmtl 列表中的信息。问题在于,在某些情况下(取决于 URL 的类型),json 信息只是一个单一对象,而不是包含所有对象的多维数组。

下面是两种 url 类型。

这是一个仅包含一层信息的播放列表。http://api.soundcloud.com/playlists/1980151.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd http://api.soundcloud.com/playlists/1980151.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd

这是一个仅包含多个播放列表作为对象的数组。http://api.soundcloud.com/users/dubstep/playlists.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd http://api.soundcloud.com/users/dubstep/playlists.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd

我当前的代码是这样的:

$.getJSON('http://api.soundcloud.com/users/dubstep/playlists.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd', { get_param: 'value' }, function(url_data) {
$.each(url_data, function (i, elem) {
    if (elem.kind === 'playlist') {
        $.each(elem.tracks, function (i, elem) {
            console.log(elem.title);
        });
    }
});

});

It only在处理有多个播放列表的“用户”url 时有效。

总结一下我的问题是什么,我需要一种方法来搜索数组的所有级别,以查找具有 kind === 播放列表的级别。


这应该可以满足您的要求。

$.each(json, function (i, elem) {
    if (elem.kind === 'playlist') {
        $.each(elem.tracks, function (i, elem) {
            console.log(elem.title);
        });
    }
});

UPDATE:

这适用于任一 URL。另外,这里有一个更高级的客户端输出的小提琴:http://jsfiddle.net/jTLvE/ http://jsfiddle.net/jTLvE/

var parse = function (json) {
    $.each(json, function (i, elem) {
        if (elem.kind === 'playlist') {
            $.each(elem.tracks, function (i, elem) {
                console.log(elem.title);
            });
        }
    });
},
parseReturnedData = function (json) {
    var isObject = (typeof json === 'object' && json instanceof Object),
        isArray = (typeof json === 'object' && json instanceof Array),
        newArray = [];
    if (isArray) {
        parse(json);
    } else if (isObject) {
        newArray.push(json);
        parse(newArray);
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 通过 JSON 数组搜索 的相关文章

  • 在 JsonConverter 中递归调用 JsonSerializer

    我正在写一个JsonConverter要执行一些我需要在读 写时完成的转换任务 特别是 我采用现有的序列化行为 并在写入 读取时添加一些附加属性 在 的里面JsonConverter 我想利用通过的JsonSerializer实例来执行大部
  • 当焦点/单击[重复]时选择 contenteditable div 中的所有文本

    这个问题在这里已经有答案了 我有 contenteditable div 如下 div style border solid 1px D31444 12 some text div 我需要的是 当我点击 div 时 所有文本都会自动被选中
  • 先按行再按列布局 div

    我有一个容器div and 3 div里面如下 div div 1 div div 2 div div 3 div div 不知道每一个的内容div内部 但它们的高度和宽度是可变的 集装箱的高度由最高的决定div inside 我想展示这些
  • jQuery - 如何从 div > p 获取文本

    如何从 div 类中获取主题名称 div class subject img src image eng jpg p English p div div class subject img src image bio jpg p Biolo
  • 选择所有选项值而不是第一个

    我有一个正在运行的脚本 可以根据所选的下拉选项显示 隐藏 div 在用户在下拉列表中进行选择之前 我需要隐藏除第一个 div 之外的所有 div 根据下面的脚本 如何从除第一个选项之外的所有选项中获取值 以便隐藏除第一个 div 之外的所有
  • html 选择列表 - 通过传入变量获取文本值?

    我有一个显示列表语言的选择列表
  • ajaxChosen 插件将无法工作

    我整个下午都在摆弄 ajaxChosen 因为我喜欢 Chosen 但我的选项值集变得太大了 我也尝试过 select2 但它太慢了 http harvesthq github io chosen http harvesthq github
  • 使用 css 简单地将对象居中,无需修改

    我想使用 CSS 将对象居中 而不需要任何技巧 这可能吗 如何实现 我已经尝试过了 但是我的 p 标签消失了 centered position fixed top 50 left 50 有多种方法可以使元素居中 但这取决于您的元素是什么以
  • Twitter 卡元标签问题

    有问题的网址 https www halleonard com viewpressreleasedetail action releaseid 10261 https www halleonard com viewpressreleased
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 如何格式化 Json 输出

    请帮助我如何获取 JSON 输出 如下所示 costMethod Average fundingDate 2008 10 02 fundingAmount 2510959 95 代替 type sma costMethod Average
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • HTML 锚点,禁用样式

    我有一些 html 锚链接代码 与文档的其余部分不同 我希望它看起来不是链接 有没有一种简单的方法可以禁用由于将文本包装在锚标记中而引起的样式更改 而不必强行使其相同 即 如果我更改正文字体样式 我不必也更改其他一些 link东西 将颜色设
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • CSS溢出文本显示在几行中,没有断字

    我有一些长文本显示在 div 中 该 div 具有固定的宽度和高度 我希望文本显示在几行上 作为 div 高度 并且句子单词不会中断 一行中的单词前缀和下一行中的继续 此外 我想在末尾添加省略号最后一句话 CSS white space n
  • 循环内的异步性

    我正在使用 jQuery getJSON 用于从一组实用程序的给定 URL 检索数据的 API 我真的很想找到一种为每个实用程序重用代码 完全相同 的方法 由于循环的执行与 ajax 调用无关 因此我无法找到保留循环值的方法 我知道这个描述

随机推荐

  • 扩展模型未加载

    我们有一个 Magento 开发站点和一个生产站点 这两个网站都安装了名为 Affiliate Pro 的扩展 我需要从我的脚本访问模型 所以我写了一个测试脚本 它适用于我们的开发站点 但不适用于生产站点 开发站点输出 object MW
  • 我可以更改 gdb 中 RET 的绑定吗?

    我想禁用 gdb 行为 即输入回车符会重复执行最后输入的命令 我只是想让它什么也不做 这可能吗 似乎重复大多数命令是 gdb 的默认行为 并且没有设置可以更改它 这是 gdb 源代码中的样子 Handle a complete line o
  • Libreoffice Draw Export解析没有意义

    我正在尝试使用 Libreoffice Draw v 4 0 2 2 制作一个非常简单的标签 该标签只不过是规则间隔的居中文本行而已 该图像将被打印 并且我有固定的尺寸 ppi 要求以确保适当的打印质量 我根据自己的规格设置页面大小 并根据
  • ES6 默认导出和命名导出

    我试图理解命名和默认导出 我有一个看似基本的要求 但我不明白如何设置 我希望能够导入两者 app js import Mod from my module import funcA funcB from my module console
  • DRF 序列化器深度使创建时忽略字段

    github上有这个问题的项目 https github com sam moshenko drf depth problem 由于某种原因 序列化器的深度选项会使字段在创建时被忽略 序列化器 class AnswerSerializer
  • 如何阻止 maven-shade-plugin 阻止 java.util.ServiceLoader 初始化 opensaml-impl 类型

    使用 OpenSAML 3 时 您必须首先从opensaml saml impl具有以下代码行的工件 InitializationService initialize This uses java util ServiceLoader加载任
  • Git 将现有存储库推送到新的不同的远程存储库服务器?

    假设我有一个存储库git fedorahosted org http git fedorahosted org git p rhq rhq git a summary我想将其克隆到我在 github 的帐户中 以便除了 fedorahost
  • Power BI 中的排序堆栈条形图

    我使用堆积条形图来展示各个地区的性别比例 这里的图例是性别 轴是区域 值是人数 当我想根据女性性别值对图表进行排序时 仅根据人数值进行排序 我如何按百分比值对其进行排序 请帮我 编辑 我的第一个答案只关注计数 现在我已经考虑到OP想要按女性
  • 使用 django runserver 开发服务器时如何提供静态文件?

    我正在使用 django 1 5 我能够在生产中提供这些文件 因为它是在 apache 级别处理的 这是我的 httpd conf 文件
  • Android:从 Intent 获取应用程序名称

    我目前正在研究多图像选择器控件 我正在用这个允许用户选择图像的相机或图库 https stackoverflow com questions 4455558 allow user to select camera or gallery fo
  • 在android中创建持久搜索栏

    我想要一个位于布局顶部的搜索框 如下所示 http www google com design spec patterns search html search in app search http www google com desig
  • Laravel 5:覆盖注册页面的默认视图

    我想更改身份验证过程以使用另一个视图模板 例如 代替resources views auth register blade php应使用它resources views register blade php 但我很难找到调用该视图的代码 我
  • 如何获取 Ballerina 数组中对象的索引?

    如何有效地获取 Ballerina 数组中对象的索引 有没有内置函数可以做到这一点 芭蕾舞演员现在提供indexOf https github com ballerina platform ballerina lang blob 56c94
  • 在 Swift 中,我可以使用 for-in 枚举来初始化或重置数组吗?

    我目前在 Swift 类中有一个 Bool 类型的数组 声明如下 public var cardIsTaken Bool 为了跟上 Swift 风格指南 要求尽可能避免索引 for 循环 我有这样的东西 for takenFlag in c
  • 什么是可重入解析器?

    谁可以给我解释一下这个 特别是以下之间的区别 http github com whymirror greg http github com whymirror greg and http piumarta com software peg
  • Firebase 托管和 seo 上的 Angular5 通用延迟加载

    有谁知道如何在 firebase 托管上进行延迟加载工作 这一切都有效 但是当我查看站点的源代码时 我只看到路由器插座 而不看到文本等 我已将以下代码添加到函数文件夹内的 index js 中 extraProviders provideM
  • Rcpp 无法在初始化中将“SEXP {aka SEXPREC*}”转换为“double”

    我正在尝试复制 Rcpp 中的 R 向量化和 我首先尝试以下无故障代码 include
  • 制作长度不断增加的星号和零的图案

    我正在尝试像下面的图案一样回显星星和零 0 00 000 星号的长度以增加的因子 以膨胀的方式 增长 先前的星号数量加上当前的迭代数量 迭代 1 1 0 1 迭代 2 3 1 2 迭代 3 6 3 3 迭代 4 10 6 4 迭代 5 15
  • 如何进行网络跟踪或调试WebRTC点对点连接

    我想知道有什么工具或任何方法可以让我看到底层的 WebRTC 对等连接是什么 举个简单的例子 如果我使用 webrtc 实现视频聊天 所有连接 offer answer ice 都已建立 但我看不到视频流 我如何调试并查看这些连接之间是否有
  • jQuery - 通过 JSON 数组搜索

    我需要搜索 JSON 数据并找到包含 种类 播放列表 的每个对象 然后遍历曲目并提取将放入 hmtl 列表中的信息 问题在于 在某些情况下 取决于 URL 的类型 json 信息只是一个单一对象 而不是包含所有对象的多维数组 下面是两种 u