我有一个像下面这样的json有效载荷;
{ "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" }
如您所见,它将包含所有国家/地区。我可以读到这里提到的JSON有效载荷;
http://webhole.net/2009/11/28/how-to-read-json-with-javascript/
这里的一个问题是,我如何在这里阅读国家代码?它们将针对每个值进行更改。
我的目标是将国家/地区代码的值属性分配给选项列表中选项的文本。
答案 0 :(得分:7)
不需要任何jQuery。好的'纯粹的javascript救援:
var countries = { "ABW": "Aruba", "AFG": "Afghanistan", "AGO": "Angola" };
for(code in countries){
alert("code: " + code + "\n" + "country: " + countries[code]);
}
答案 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"}]
然后遍历数组中的每个对象以获取国家/地区代码和国家/地区名称。