带变量的Javascript对象表示法

带变量的Javascript对象表示法,javascript,object,notation,Javascript,Object,Notation,我的PHP脚本specs.PHP输出以下内容: { "hd": { "dimensions": [ "1920x1080", "1920x1080", "1920x1080" ], "sizes": [ "603 KB", "265 KB", "438 KB" ] },

我的PHP脚本specs.PHP输出以下内容:

{
    "hd": {
        "dimensions": [
            "1920x1080",
            "1920x1080",
            "1920x1080" 
        ],
        "sizes": [
            "603 KB",
            "265 KB",
            "438 KB" 
        ] 
    },
    "medium": {
        "dimensions": [
            "800x530",
            "800x530",
            "800x530" 
        ],
        "sizes": [
            "198 KB",
            "105 KB",
            "152 KB" 
        ] 
    },
    "status": "success"
}
使用jQuery,我加载JSON并将其分配给specs_obj
我可以使用specs_obj访问第一项的“中等”尺寸。中等大小[0]
如何使用点表示法中的变量

var specs_obj;
$.post("specs.php", {},
    function(data) {
        if (data.status == "success") {
                specs_obj = data;
                writeSizes("medium");
        } else {}
    }, "json"
);

function writeSizes(preset) {
    // test get medium dimensions from first file
    var size = specs_obj. medium.sizes[0];
    // var size = specs_obj.preset.sizes[0];
}

不能在点表示法中使用变量,但可以使用括号表示法:

var size = specs_obj[preset].sizes[0];
如果
preset
包含字符串“medium”,则其功能与:

var size = specs_obj.medium.sizes[0];