重命名对象中的字段

Jam*_*ron 3 javascript

如果我有以下对象:

JsonObj = {
    "frames": {
        "cinema": {
            "sourceSize": { "w": 256, "h": 200 },
            "frame": { "x": 0, "y": 0, "w": 256, "h": 192 }
        },
        "tree": {
            "sourceSize": { "w": 128, "h": 110 },
            "frame": { "x": 0, "y": 302, "w": 70, "h": 96 }
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

parsedJSON使用此JavaScript代码将此JSON对象解析为变量:

var parsedJSON = JSON.parse(JsonObj);
Run Code Online (Sandbox Code Playgroud)

如何将"frames"属性重命名parsedJSON为其他内容?

Mat*_*att 14

设置somethingElseframes指向的内容,然后删除frames.

parsedJSON.somethingElse = parsedJSON.frames;
delete parsedJSON.frames;
Run Code Online (Sandbox Code Playgroud)

这里重要的是它frames只是一个指向对象的指针; 如果删除frames指针,somethingElse仍引用有效对象.


还要注意,没有"JSON对象"这样的东西; 你有一个对象的JSON表示,这是一个字符串,或者你有一个对象(通常可以通过对象文字符号来定义,这通常是混乱所在的地方).