解析JSON数组文件并将结果填充到Select中

时间:2013-05-14 04:42:15

标签: json

我正在公司做Android PhoneGap项目。 我有一个JSON文件,想把它放到我的HTML选择框中。 由于我还是新手,我主要不了解JSON解析。

这是我的JSON文件(city.json):

[{"CityID":1,"CityName":"Magelang"},{"CityID":2,"CityName":"Jayapura"},{"CityID":3,"CityName":"Aceh"}]

我真的不知道是否需要解析。 我在这个帖子中跟随了RaYell的回答。 Jquery getJSON populate select menu question

因此,我对这些进行编码以将结果填充到选择框中的选项中。

$.getJSON('city.json', function(data){
var html = '';
var len = data.length;
for (var i = 0; i< len; i++) {
    html += '<option value="' + data[i].CityID + '">' + data[i].CityName + '</option>';
}
$('#city').append(html);
});

但它对我的代码没有用。 我的选择框没有选项:( 有解决方案吗 谢谢。

2 个答案:

答案 0 :(得分:0)

尝试执行$('#city').html(html);以查看错误:

编辑:将其添加到$.getJSON电话的末尾:

    $(document).ready(function(){
        $.getJSON(. . .).fail(function( jqxhr, textStatus, error ) {
             var err = textStatus + ', ' + error;
             alert( "Request Failed: " + err);
             });
    });

答案 1 :(得分:0)

您的for循环不适用于对象。只有数组。

您需要使用for (var i in data) {循环遍历对象的所有属性。