【问题标题】:jquery get json with nested arraysjquery获取带有嵌套数组的json
【发布时间】:2014-07-14 08:54:20
【问题描述】:

我正在使用需要从页面动态获取 json 值的音乐播放器,我遇到的第一件事就是 json 是这样的

{"audios":[{"audio":{"name":"makakyala","audio":{"audio":{"url":"/uploads/audio    /audio/9/01_-_Makkayala_SouthSongs4u.com_.mp3"}}}},{"audio":{"name":"tahppellam","audio":{"audio":{"url":"/uploads/audio/audio/10/03_-_Thapellam_Thape_Illai_SouthSongs4u.com_.mp3"}}}},{"audio":{"name":"dinam dinam","audio":{"audio":{"url":"/uploads/audio/audio/11/04_-_Dinnam_Dinnam_SouthSongs4u.com_.mp3"}}}}]}

我需要将每个音频数组传递给 jquery,我的 jquery 代码是

$.getJSON("../albums/x.json",function(json){  
    $.each(json.audios,function(index, audio){
       $.each(audio, function(audio) {
        as=JSON.stringify(audio)
        alert(as)
        myPlaylist.add({title:$(this).attr("audio_name")}); 
     })
        })
     });

但它不起作用我的代码有什么问题,如何从音频数组中获取每个音频数组?

【问题讨论】:

  • $.each(audio, function(idx, audio) { 在每个循环的第二个中更改为这个。
  • 谢谢,改成这样,但没有任何效果 $.getJSON("../albums/x.json",function(json){ $.each(json.audios,function(index, audio ){ $.each(audio, function(index, audio) { as=JSON.stringify(audio) alert(audio) myPlaylist.add({title:$(this).attr("audio_name")}); }) }) });
  • 看不到,你的预期输出是什么?/应该怎么做?
  • 是的,现在可以很好地使用您的代码,非常感谢兄弟
  • 输出类似于 {"name":"makakyala","audio":{"audio":{"url":"/uploads/audio/audio/9/01_-Makkayala_SouthSongs4u.com.mp3"}}} 现在要获取 audio_url,我必须在每个循环或其他内容中添加另一个?

标签: javascript jquery ruby-on-rails json audio


【解决方案1】:

改变这个:

$.each(audio, function(audio) {

到这里:

$.each(audio, function(idx, audio) {

在您的第二次$.each() 迭代中,您需要将其作为第二个参数,因为第一个参数或回调中传递的单个参数给您的是 js 对象的键,而不是对象本身。所以你需要按照上面的建议把它放在第二个参数中。


Demo


这将为您提供您正在寻找的网址:

$.each(audio, function(idx, audio) {
    console.log(audio.audio.audio.url);
});

Demo to get the each url

【讨论】:

  • 感谢兄弟运行良好,输出是这样的 {"name":"makakyala","audio":{"audio":{"url":"/uploads/audio/audio/9/ 01_-Makkayala_SouthSongs4u.com.mp3"}}} 我必须从这个数组中提取每个元素,但 url 在音频内,我应该在每个循环中再做什么?
【解决方案2】:

您的代码没有任何问题。检查发送响应时传递的标头。 您应该将响应标头设置为header('Content-Type: application/json');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-15
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 2021-10-25
    相关资源
    最近更新 更多