使用JQuery读取JSON:字段名称

时间:2011-06-22 16:17:00

标签: javascript jquery json select drop-down-menu

我有一个像下面这样的json有效载荷;

{ "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" }

如您所见,它将包含所有国家/地区。我可以读到这里提到的JSON有效载荷;

http://webhole.net/2009/11/28/how-to-read-json-with-javascript/

这里的一个问题是,我如何在这里阅读国家代码?它们将针对每个值进行更改。

我的目标是将国家/地区代码的值属性分配给选项列表中选项的文本。

4 个答案:

答案 0 :(得分:7)

不需要任何jQuery。好的'纯粹的javascript救援:

var countries = { "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" };

for(code in countries){
    alert("code: " + code + "\n" + "country: " + countries[code]);
}

小提琴:http://jsfiddle.net/maniator/2adKZ/

答案 1 :(得分:3)

当JQuery使用每个函数时,索引由第一位信息的名称组成 所以在{“ABW”:“Aruba”,“AFG”:“阿富汗”,“AGO”:“安哥拉”} 第一个对象的索引是“ABW”,值是“Aruba”

var countries = { "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" }
$.each( countries , function(index) {
    var code = index;
    var country = countries[index] 
})

$.each( countries , function(index) {
    var code = index;
    var country = this;
})

答案 2 :(得分:0)

您可以更改响应结构吗? (也许):

{"countries":[{"code":"ABW","name":"Aruba"},{"code:"AFG","name":"Afghanistan"}]}

答案 3 :(得分:0)

为什么不把它作为一个对象数组,然后循环遍历每个?

{"results" : [
     {countryCode : "ABW",
      country : "Aruba"},
     {countryCode : "AFG",
      country : "Afghanistan"}]

然后遍历数组中的每个对象以获取国家/地区代码和国家/地区名称。