如何从JSON OBJECT中获取数据

时间:2013-02-06 05:08:15

标签: javascript json

请注意,这是一个实际的Javascript对象,而  JSON是表示该对象的字符串。

JSONExample = {
"frames": {
    "chaingun.png": {
        "frame": {
            "x": 1766,
            "y": 202,
            "w": 42,
            "h": 34
        },
        "rotated": false,
        "trimmed": true,
        "spriteSourceSize": {
            "x": 38,
            "y": 32,
            "w": 42,
            "h": 34
        },
        "sourceSize": {
            "w": 128,
            "h": 128
        }
    },
    "chaingun_impact.png": {
        "frame": {
            "x":1162,
            "y":322,
            "w":38,
            "h":34},
        "rotated": false,
        "trimmed": true,
        "spriteSourceSize": {
            "x":110,
            "y":111,
            "w":38,
            "h":34},
        "sourceSize": {
            "w":256,
            "h":256}
    },
    "chaingun_impact_0000.png": {
        "frame": {
            "x": 494,
            "y": 260,
            "w": 22,
            "h": 22
        },
        "rotated": false,
        "trimmed": true,
        "spriteSourceSize": {
            "x": 113,
            "y": 108,
            "w": 22,
            "h": 22
        },
        "sourceSize": {
            "w": 256,
            "h": 256
        }
    }
}
};

以上是如何构建JSON的示例。  请注意,chaingun_impact.png不在这里,我们会打电话给你  带有完整JSON输入的parseJSON函数。

parseJSON = function (weaponJSON) {
 // Your Code here 

};

我想抓住'chaingun_impact.png'的'spriteSourceSize'中的'x'数据字段。

先谢谢

修改

这就是我尝试过的但它不起作用

var parsedjson =  JSON.parse(weaponJSON);
alert(parsedjson);
console.log(pardesjson);
var x = parsedjson ['frames']['chaingun_impact.png']['spriteSourceSize'][x];
console.log(x);

1 个答案:

答案 0 :(得分:2)

使用parsedjson['frames']['chaingun_impact.png']['spriteSourceSize']['x'];

'x'也需要引号。

你也可以这样做:

parsedjson.frames['chaingun_impact.png'].spriteSourceSize.x;