2013-02-09 7 views
3

Если у меня есть следующий объект:Переименование поля в объекте

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

Этот объект JSON будет анализироваться в переменную parsedJSON, используя этот JavaScript код:

var parsedJSON = JSON.parse(JsonObj); 

Как бы переименовать " кадров "в parsedJSON что-то еще?

ответ

11

Установите somethingElse в качестве ссылки на то, что frames указывает на, а затем удаляет frames.

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

Важным моментом здесь является то, что frames просто указатель на объект; если вы удалите указатель frames, somethingElse все еще ссылается на действительный объект.


отметить также, что нет такого понятия, как «JSON объект»; у вас есть представление объекта JSON, которое является строкой, или у вас есть объект (который часто можно определить с помощью объектной литературной нотации, которая часто встречается там, где находится путаница).

+0

Как правило, существует такая вещь, которая называется объектом JSON https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON. Но да, topicstarter ссылался на сериализованную строку, а не на объект. – alexp

Смежные вопросы