2013-05-28 67 views
0

更新JSON的屬性值我有一個JSON文件看起來像這樣:如何在JavaScript

{ 
"@id": "2", 
"@samsid": "d7058536c89b46c0b58117eff64372f7", 
"@productname": "Another paid for", 
"@downloaddate": "2013-05-28 11:37:12Z", 
"@downloadlocation": 
    "2AFoGZVJpFHzspQD9UoE2C4VFYc8idiO4ebaRx4uEvtG+79DjkOUjJQjp9lJdSk54KIbFqzr", 
"@upgradeavailable": "2wECEpVJpFHS", 
"@downlaodstatus": "3QGf15VJpFFrUzr6oxwoew==" 
} 

我想更新屬性@id如(@id:2@id:4)的值。

我該怎麼做?

+1

是否要更新實際文件? –

+0

是的,我想更新的實際文件。 –

+0

在服務器上還是在客戶端上? –

回答

3

更新:既然你現在提到要疼到這個文件!你仍然可以將json設置爲像下面這樣的變量,然後設置它的值。然後使用JSON.stringify()將其轉換成字符串,然後把它寫到你在後端文件。這真的取決於你的系統是如何設計的。


我不知道爲什麼,但因爲你在爲你的JSON對象的鍵有@你將不得不獲取和設置他們這樣的:

//assign into a variable 
var x = { 
"@id": "2", 
"@samsid": "d7058536c89b46c0b58117eff64372f7", 
"@productname": "Another paid for", 
"@downloaddate": "2013-05-28 11:37:12Z", 
"@downloadlocation": 
    "2AFoGZVJpFHzspQD9UoE2C4VFYc8idiO4ebaRx4uEvtG+79DjkOUjJQjp9lJdSk54KIbFqzr", 
"@upgradeavailable": "2wECEpVJpFHS", 
"@downlaodstatus": "3QGf15VJpFFrUzr6oxwoew==" 
}; 
alert(x["@id"]); //shows 2 
x["@id"] = 4 
alert(x["@id"]);//shows 4 

見工作小提琴:http://jsfiddle.net/jPa6n/

+0

由於現在是工作的罰款。 –

0

如果使用JavaScript和一些圖書館嘗試這樣的事情(我使用jQuery,因爲它是流行的)

var a = JSON.parse('{"@id": "2","@samsid": "d7058536c89b46c0b58117eff64372f7","@productname": "Another paid for","@downloaddate": "2013-05-28 11:37:12Z","@downloadlocation": "2AFoGZVJpFHzspQD9UoE2C4VFYc8idiO4ebaRx4uEvtG+79DjkOUjJQjp9lJdSk54KIbFqzr","@upgradeavailable": "2wECEpVJpFHS","@downlaodstatus": "3QGf15VJpFFrUzr6oxwoew=="}'); 
a['@id'] = 4; 
var b = JSON.stringify(a);