Я создаю список, получая значения из файла JSON. Это вложенный JSON, а элементы списка - «Thriller», «Fiction», которые в основном являются ключами для следующего уровня. по щелчку элемента Я передаю его имя (т. Е. Триллер/вымысел) на другую функцию ... var val = триллер.получить значение от json, когда переданный ключ является переменной
Теперь мне нужно получить значение (т. Е. «Книга» & имя книги), соответствующее переданному ключу в этой новой функции. Я не в состоянии сделать это, используя точку operator- data.library.val не работает ..
Если кто-то работал над чем-то similar..please помочь ..
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>');
});
}); });
Используйте имена переменных, которые не сталкиваются друг с другом! Сделайте их значимыми, чтобы вы могли их прочитать и узнать, что вы на самом деле ссылаетесь. – epascarello