0

我有一个从另一个域获取 json 数据的简短代码,我是 json 代码的新手,因此我无法理解如何仅获取类别下的数据,例如在此代码中:

$.getJSON("http://api.anywayanyday.com/api/NewRequest/?Route=2406MOWLON&AD=1&CN=0&CS=E&Partner=testapic&_Serialize=JSON&callback=?", function(data) {
    var code=data.Id;
    $.getJSON("http://api.anywayanyday.com/api/Fares/?R="+code+"&V=Matrix&VB=true&L=ru&_Serialize=JSON&callback=?", function(data) {
        var items = [];
        $.each(data, function(key, val) {
            items.push('<li>'+key+': '+val+'</li>');
        });
        $('<ul/>', {
            'class': 'my-new-list',
            html: items.join('')
        }).appendTo('#data2');
    });
});

我得到了货币、语言、排序依据等的列表,并且里面有一个航空公司类别和很多对象,我想要的只是获取这些航空公司对象及其名称(至少它们必须在 json 数据列表中), 我该怎么做?!

谢谢大家的帮助,我真的很感激!

4

2 回答 2

1

您可以尝试此操作以在未排序列表中获取航空公司名称

$.getJSON("http://api.anywayanyday.com/api/NewRequest/?Route=2406MOWLON&AD=1&CN=0&CS=E&Partner=testapic&_Serialize=JSON&callback=?", function(data) {
    var code=data.Id;
    $.getJSON("http://api.anywayanyday.com/api/Fares/?R="+code+"&V=Matrix&VB=true&L=ru&_Serialize=JSON&callback=?", function(data) {
        var items = [];
        $.each(data, function(key, val) {
            if(val && (typeof val == 'object' || typeof val == 'array')){
                if(key == "Airlines"){
                    var airlineNames = [];

                    for(var x in val)
                        airlineNames.push(val[x].Name);

                    items.push('<li>'+key+': <ul><li>'+airlineNames.join('</li><li>')+'</li></ul></li>');
                }
            }else{
                items.push('<li>'+key+': '+val+'</li>');
            }
        });
        $('<ul/>', {
            'class': 'my-new-list',
            html: items.join('')
        }).appendTo('#data2');
    });
});
于 2012-09-26T10:56:21.903 回答
0

如果您只想要航空公司,如果您知道这是名称,则可以遍历“航空公司”。

var items = [];
$.each(data['Airlines'], function(i, airline) {
    items.push('<li>'+airline.Name+': '+airline.Code+'</li>');
});
于 2012-09-26T10:57:55.133 回答