Я пытаюсь собрать информацию из файла JSON в моем скрипте jQuery.
Вот мой код jQuery:
$.ajax({
type: "GET",
url: "settings.json",
dataType: "json",
cache: false,
error: function(){
$('.slideMe').css("display", "none");
},
success: function(getSettings){
// My code..
}
});
Вот мой JSON:
{
"slider": {
"Nb": "6",
"Height": "390px",
"Width": "full",
"FadeInit": "1000",
"ChangeTime": "10000",
"FadeInTime": "550",
"FadeOutTime": "850"
},
"thumb": {
"Mode": "preview",
"Background": "#00000",
"Color": "grey",
"Height": "70",
"Width": "152",
"Opacity": "0.4",
"FadeTime": "50"
}
}
Я хочу использовать такие значения:
alert(slider.FadeInit);
Но с моим кодом я должен написать:
alert(getSettings.slider.FadeInit);
Я пробовал множество решений ($ .each () .. $ .makeArray () .. и т.д.) безуспешно.
2 ответа
Вот что вам нужно. Это настолько "автоматический", насколько это возможно. Я читал, что использовать функцию eval()
- не лучший вариант, но не знаю почему. Может быть, кто-то может прокомментировать этот ответ, объяснив причину.
$.each(getSettings, function(key, value) {
str = key+' = '+'getSettings.'+key;
eval(str);
});
alert(slider.FadeInit);
Я не уверен, что это единственный способ сделать это, но, по крайней мере, он работает.
Когда у вас есть объект JSON, вы можете просто объявить:
var slider = getSettings.slider
var thumb = getSettings.thumb
И используйте значения по своему усмотрению.
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.