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

在两个jquery数组中转换一个JSON数组,jquery,arrays,ajax,json,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){

我试图从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()..等),但都没有成功。

一旦拥有了JSON对象,就可以简单地声明:

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

并根据需要使用这些值

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

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

 alert(slider.FadeInit);

我不确定这是否是唯一的方法,但至少它是有效的。

我认为这是一个解决方案,但将来我会有更多的JSON对象(slider、thumb、object3、object4等),使用这个解决方案,我每次添加对象时都必须声明。。我正在寻找一个“自动”解决方案。但你的答案是一个很好的解决方案。非常感谢。“自动”解决方案是什么意思?如果我在Json中添加了更多的对象,我不想每次都在jquery代码中声明" .. 例如,我想使用
thumb.x
settings.y
而不声明
var thumb=getSettings.thumb
var settings=getSettings.settings
我发布的另一个答案就是这样做的。