重命名对象中的字段

时间:2013-02-09 15:05:27

标签: 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 }
        }
    }
};

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

var parsedJSON = JSON.parse(JsonObj);

如何将parsedJSON中的“frames”属性重命名为其他内容?

1 个答案:

答案 0 :(得分:13)

somethingElse设置为frames指向的引用,然后删除frames

parsedJSON.somethingElse = parsedJSON.frames;
delete parsedJSON.frames;

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


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