在两个jquery数组中转换一个JSON数组

时间:2015-02-25 23:36:30

标签: jquery arrays ajax json

我试图从我的jQuery脚本中的JSON文件中收集信息。

这是我的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 个答案:

答案 0 :(得分:0)

获得JSON对象后,您只需声明:

 var slider = getSettings.slider
 var thumb = getSettings.thumb

并根据需要使用这些值。

答案 1 :(得分:0)

这是你想要的。这是"自动"因为它得到了。我已经读过使用eval()函数不是一个好的选择,但我不知道为什么。也许有人可以评论这个答案解释原因。

 $.each(getSettings, function(key, value) {
       str = key+' = '+'getSettings.'+key;
       eval(str);
 });

 alert(slider.FadeInit);

我不确定这是唯一的方法,但至少它可行。