使用JQuery:字段名称读取JSON

Reading JSON with JQuery : Field Names

本文关键字:读取 JSON 字段 JQuery 使用      更新时间:2023-09-26

我有一个json负载,如下所示;

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

正如你所看到的,它将覆盖所有国家。我可以阅读这里提到的JSON负载;

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

这里的一个问题是,我该如何阅读这里的国家代码?每个值都会发生变化。

我在这里的目标是将国家代码分配给选项的值属性,将国家名称分配给选择列表中选项的文本。

不需要任何jQuery。好的简单javascript拯救:

var countries = { "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" };
for(code in countries){
    alert("code: " + code + "'n" + "country: " + countries[code]);
}

Fiddle:http://jsfiddle.net/maniator/2adKZ/

JQuery使用each函数时,索引由第一位信息的名称组成因此,在{"ABW":"阿鲁巴","AFG":"阿富汗","AGO":"安哥拉"}第一个对象的索引为"ABW",值为"阿鲁巴"

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;
})

您能更改响应结构吗?至(可能):

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

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

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

然后循环遍历数组中的每个对象,以获得国家代码和国家名称。