Javascript 使用JQuery读取JSON:字段名

Javascript 使用JQuery读取JSON:字段名,javascript,jquery,json,select,drop-down-menu,Javascript,Jquery,Json,Select,Drop Down Menu,我有一个json负载,如下所示 { "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" } 正如你所看到的,它将拥有所有的国家。我可以阅读这里提到的JSON负载 这里的一个问题是,我如何阅读这里的国家代码?它们将因每个值而改变 我的目标是将国家代码分配给选项的value属性,将国家名称分配给选择列表中选项的文本。不需要任何jQuery。好的普通javascript来拯救: var countries = { "ABW": "Aruba",

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

{ "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" }
正如你所看到的,它将拥有所有的国家。我可以阅读这里提到的JSON负载

这里的一个问题是,我如何阅读这里的国家代码?它们将因每个值而改变


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

不需要任何jQuery。好的普通javascript来拯救:

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

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

Fiddle:

不需要任何jQuery。好的普通javascript来拯救:

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

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

小提琴:你能改变反应结构吗?也许:


{国家:[{代码:ABW,名称:阿鲁巴},{代码:AFG,名称:阿富汗}]}

您能更改响应结构吗?也许:


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

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

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

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

为什么不将其设置为一个对象数组,然后循环遍历每个对象

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

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

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

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


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

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



为了节省一些调试时间:所有字符串(包括键名)所需的分隔符为,not“。正如所引用的,该JSON无效,因此如果您是从实际源复制和粘贴…@TJCrowder,我在尝试制作小提琴时遇到了这个问题。我必须将所有为什么不显示格式转换为您的JSON,如下所示[{Code:ABW,Name:Aruba},{Code:AFG,Name:Afghanistan}]@Amin-请参阅对@RobotWoods的答案的评论…@TJCrowder很好。谢谢!只是为了节省您一些调试时间:所有字符串(包括键名)所需的分隔符是,而不是“。如前所述,该JSON无效,因此如果您是从实际来源复制和粘贴…@TJCrowder,我在尝试制作小提琴时遇到了这个问题。我必须将所有为什么不显示格式转换为您的JSON,如下[{代码:ABW,名称:Aruba},{代码:AFG,名称:Afghanistan}]@阿明-查看@RobotWoods的答案的评论…@TJCrowder很好。谢谢!为什么?没有理由,它只是增加了开销。不是我的DV,顺便说一句,虽然我可以看到它…如果你感兴趣:@TJ,谢谢!每当我有可能未知的标签,我都会去一个数组,因为它似乎很多都是基于其他答案和评论的,所以我确信in的帮助不仅仅是我自己。为什么?没有理由,它只是增加了开销。不是我的DV,顺便说一句,虽然我可以看到它…如果你感兴趣:@TJ,谢谢!每当我有可能未知的标签时,我都会去一个数组,因为它似乎是基于其他答案和评论的,所以我相信in会帮助更多,而不仅仅是我自己。请参阅@RobotWoods'answerah的注释,忘记了JS:Psee的for-in注释,忘记了JS:p的for-in注释这似乎是一个简单而直接的解决方案。哎呀,删除了我的注释,询问它如何知道我在这段时间内读到了哪一篇文章。谢谢。这似乎很简单,很简单ight forward solution.oops,删除了我的评论,询问它如何知道我在这段时间内读到了哪一块要退回。谢谢。