2013-05-25 8 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); 
    }); 
} 

И это асинхронный!

Смежные вопросы