我正在处理具有多组键值对的JSON数据 - 每组都构成一个列表。在下面的简化示例中,事先不知道列表名称 - 实际上我需要使用每个列表的名称填充页面上的选择下拉列表。在这种情况下如何检索集名称?
({
"list1":
[{
"prodRating": "5",
"prodReviews": "21"
},
{
"prodRating": "5",
"prodReviews": "21"
}],
"list2":
[{
"prodRating": "5",
"prodReviews": "21"
},
{
"prodRating": "5",
"prodReviews": "21"
}]
})
答案 0 :(得分:0)
var json = ... //something which gets you the json data
for (var listname in json)
alert(listname)
在这种情况下会显示两个警告“list1”和“list2”。
这里有一个小样本页面,它迭代一个像你这样构建的对象,但“标签”不必知道。
动态创建两个选择
答案 1 :(得分:0)
您在此处显示的JSON密钥对就像是按键映射JSON对象列表,“listX”。您可以使用键值迭代它们:
var test = {"list1":
[{
"prodRating": "5",
"prodReviews": "21"
},
{
"prodRating": "5",
"prodReviews": "21"
}],
"list2":
[{
"prodRating": "5",
"prodReviews": "21"
},
{
"prodRating": "5",
"prodReviews": "21"
}]
};
for (var i in test){
console.log("Key: "+ i);
for(var j in test[i]){
var something = test[i][j];
console.log("Rating: " + something.prodRating + " Reviews: " + something.prodReviews);
}
}
不确定如何布置下拉菜单。但是你可以使用jquery的html()来生成html。希望能帮助到你。