2012-10-30 30 views

回答

2

也有檢查hasOwnProperty,並刪除之前的屬性

var object = { DestinationId: "e96dd00a-b042-41f7-bd59-f369904737b6" } 
for (var prop in object) { 
    if (object.hasOwnProperty(prop)) { 
    object[ prop.substring(0,1).toLowerCase() + prop.substring(1) ] = object[ prop ]; 
    delete object[ prop ]; 
    } 
} 
+0

爲什麼你使用hasOwnProperty進行檢查?你的Object.prototype有附加功能嗎?如果是這樣 - 那沒有好處。你必須定義你自己的構造函數。 – Damask

4

簡單的辦法是讓迭代在你的對象:

var newObj = {}; 
for (var p in o) { 
    newObj[p.substring(0,1).toLowerCase()+p.substring(1)] = o[p]; 
} 
+0

可能更優雅的解決方案 - 在轉換爲JS對象之前,用正則表達式替換JSON字符串。 – Damask

0

是不是能夠更好地處理這些事情串並使用Reg exps電源?

JSON.parse( JSON.stringify(z).replace( /(\"[^"])([^"]*\"\:)/g, function(all, head, tail) { return head.toLowerCase() + tail; } ) )

+0

實際上,如果它來自後端的字符串,你不需要第一次stringify。 – Damask