2013-05-25 107 views
1

我打电话给一些JSON(缩小尺寸原因);jquery json中的嵌套对象

"numExecutors" : 2, 
"description" : null, 
"jobs" : [ 
{ 
    "name" : "Test", 
    "url" : "http://www.carlbruiners.com/job/Test/", 
    "color" : "blue" 
}, 
{ 
    "name" : "Test 2", 
    "url" : "http://www.carlbruiners.com/job/Test%202/", 
    "color" : "blue" 
} 
] 

我需要能够在jobs.name字段,但我试过各种循环,但我不能让它工作。我的jquery代码是;

function getJobs() { 
$.jsonp({ 
    "url": jenkins_url + "/api/json?jsonp=jsoncallback=?", 
    "data": { 
     "alt": "json-in-script" 
    }, 
    "success": function(data) { 
    //alert('Sucess'); 
    for(var key in data) { 
     var value = data[key]; 
     //alert(value); 
    } 
    }, 
    "error": function(e) { 
    alert('Failed ' + e); 
    } 
}); 
} 

回答

2

jobs是对象的数组:

object.jobs[0].name 

我猜是这样的:

function getJobs() { 
    $.getJSON({ 
     url : jenkins_url + "/api/json?jsonp=jsoncallback=?", 
     data: {alt: "json-in-script" } 
    }).done(function(data) { 
     $.each(data.jobs, function(idx, val) { 
      console.log(val); 
     }); 
    }).fail(function(e) { 
     alert('Failed ' + e); 
    }); 
} 

而且它是异步的!