Renaming a field in an object

If I have the following object:

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 }
        }
    }
};

This JSON object is parsed into the variable parsedJSON using this JavaScript code:

var parsedJSON = JSON.parse(JsonObj);

How would I rename the "frames" property in parsedJSON to something else?

Answers:

Answer

Set the somethingElse as a reference to what frames points to, then delete frames.

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

The important thing here is that frames is simply a pointer to an object; if you delete the frames pointer, somethingElse still references a valid object.


Also note there's no such thing as a "JSON object"; you have a JSON representation of an object, which is a string, or you have an object (which can often be defined via object literal notation, which is often where the confusion lies).

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.