2013-02-09 53 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對象解析爲使用該JavaScript代碼的變量parsedJSON

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 2018-01-23 22:43:10