2013-10-29 24 views
1

如何將元件插入到我有這樣的JSON JSON數組

{ 
    json{ 
     "81":[ 
      { 
      "name":"", 
      "id":"" 
      }, 
      { 
      "name":"", 
      "id":"" 
      } 
     ] 
    } 
} 

我動態得到這個JSON和我正在存儲該JSON在adlist。我想將元素插入到第三個位置的數組中。我試過像這樣:

var temp={"name":"","id":""}; 
adlist.json[81].splice(2,0,temp); 

但它沒有正確添加字符串。

+0

Wh錯誤的你看到了嗎?在你暴露之後,adlist是什麼樣的? – ColinE

+1

它將新元素作爲一個對象插入 – Priya

+0

您的問題是關於如何在JavaScript中處理數組/對象。 *您如何獲得數據(例如,通過JSON)與問題無關。 –

回答

2

嘗試

adlist.81.push({name: "Douglas Adams", id: "comedy"}); 
+0

'adlist.81'是一個語法錯誤。 –

+0

我無法看到json如何獲得adlist,所以我不確定它是如何構建的。我的觀點是使用'.push()'。嘗試'adlist.json.81.push({name:「Douglas Adams」,id:「comedy」});' – amosmos

+0

不,這不是我的意思。您不能使用點符號訪問數字屬性,您必須使用括號表示法。這就是爲什麼只能用'foo [0]'而不是'foo.0'訪問數組元素的原因。即你必須使用'adlist [81]'。 –

1

你也可以試試這個太有更好的表現,

adlist.json["81"][adlist.json["81"].length] ={name: "Douglas Adams", id: "comedy"}; 
+0

'adlist.81'是一個語法錯誤。 –

+0

@FelixKling糟糕,我只是想以有效/不同的方式實現amosmos答案,忘記了看到它,並意識到了複製粘貼的不良影響。 –

0

它的工作對我來說:)

Java腳本代碼:

//your json data 
var adlist = {json:{"81":[{"name":"first","id":"1"},{"name":"second","id":"2"}]}}; 

// your new json data 
var temp={"name":"Third","id":"3"}; 

// insert your new json data in 3rd position 
adlist.json["81"].push(temp); 

// check with console 
console.log(adlist); 
相關問題