我是通过从JSON文件中获取值来创建列表的。它是一个嵌套的JSON,列表项是“Thriller”,“Fiction”,它们基本上是下一级别的关键。 点击该项目我将其名称(即惊悚/小说)传递给另一个功能...... var val =惊悚片。
现在我需要获取与此新函数中传递的键相对应的值(即“book”和“bookname”)。我无法使用点操作符 - data.library.val 无效..
如果有人做过类似的事情......请帮助..
JSON:
{ "library": [
{
"Thriller": [
{ "book": "ABC" },
{ "book": "DEF" }
]
},
{
"Fiction": [
{ "book": "GHI" },
{ "book": "JKL" }
]
},] }
代码段:
$.getJSON('resources/abc.json', function(data){
var i = data.library;
$("#menuList1").css('display','block');
$(i).each(function(key, value){
$.each(value, function(key, value){
console.log(key);
$("#menuList1").append('<a href="#" id="'+key+'" onClick="createSubMenu(id);">'+key+'</a>');
});
}); });
答案 0 :(得分:1)
使用data.library[key]
答案 1 :(得分:1)
你的Json 无效,特别是这个},]
。一个好的版本:
{
"library": [{
"Thriller": [{
"book": "ABC"
}, {
"book": "DEF"
}]
}, {
"Fiction": [{
"book": "GHI"
}, {
"book": "JKL"
}]
}]
}
您可以参考网站http://jsonlint.com来验证您的json。