2012-02-18 57 views
0

我通過flashMovie的函數調用獲得以下對象作爲參數。所以我有一個簡單的JavaScript函數,如從flashmovie調用的savePro(info)jQuery/Javascript:插入ID到jSON對象?

所以我可以簡單console.log(info),我明白了。

{"action":"setProjectAll", "application":{"proId":"new","zoomPosition":35,"scrollerPosition":0,"language":"en","timelinePosition":0}, "clips":[]} 

我在我的js文件中有一個變量var id = 12。這個變量是動態的,但它總是包含一個數字。

如何將json對象中的"proID":"new"替換爲我的變量的id? 所以我希望能有...

{"action":"setProjectAll", "application":{"proId":12,"zoomPosition":35,"scrollerPosition":0,"language":"en","timelinePosition":0}, "clips":[]} 

之後。

我絕對不知道該怎麼做? 提前謝謝!

回答

1

好吧,如果這是實際你在談論JSON文本,你要麼需要

  • 嘗試一些花哨的字符串操作,或
  • 解析它,修改它,然後它字符串化

後者會是這樣......

var obj = JSON.parse(info); // parse the JSON into a JavaScript object 

obj.application.proId = id; // modify the object 

info = JSON.stringify(obj); // stringify it into JSON if you wanted it as JSON 

如果您確實沒有JSON數據,那麼您只需按照您在任何初學JavaScript書籍中找到的方式操作它。

這將是相同的方法,以上代碼的第二行...

info.application.proId = id; // modify the object 
1

使用點表示法來訪問屬性:

info.application.proId = id; 

旁註:JSON是用於交換的字符串表示。它看起來像你正在處理的只是一個JavaScript對象

0

你沒有「JSON對象」,你要麼有「JSON」,這是一個字符串表示你的對象,或者你有一個「對象」。假設後者可以設置屬性如下:

info.application.proId = id; 

如果你有JSON,你需要分析它創建一個對象,然後設置屬性(如果你需要它作爲一個字符串,將其回JSON事後):

info = JSON.parse(info); 
info.application.proId = id; 
info = JSON.stringify(info); 
0

您可以使用點符號JSON對象訪問屬性。像這樣:

info.application.proId = id;