2013-05-16 46 views
2

javascript代碼:延長JSON對象的JavaScript

window.mybooks={"books": [{"name":"book one","author":"Samuel Peter"},{"name":"book two","author":"Samuel Anderson"}]}; 

如何新書添加到window.mybooks?

{"name":"book three","author":"Samuel Abelson"} 

UPDATE:

奇怪,有很多相同的答案,而不是爲我工作......這是什麼原因?

我確實發現該對象是生成的,可能是不正確的。它看起來像這樣:

window.mybooks={"books": [{"name":"book one","author":"Samuel Peter"},{"name":"book two","author":"Samuel Anderson"},]}; 

任何提示如何糾正它並mayabe然後按是否行得通呢?

+1

你的意思是像window.mybooks.books.push(new_book)? – Shanimal

+3

這不是JSON!它只是一個JavaScript對象。 JSON是數據的*字符串表示*,用於傳輸。 –

回答

9
window.mybooks.books.push({"name":"book three","author":"Samuel Abelson"}); 
+0

訪問該對象時,不需要明確的'window.'前綴。 –

+0

@ŠimeVidas:有時它是很好的安全:) –

+1

當在羅馬... – Shanimal

1
var newBook = { 
    "name": "book three", 
    "author": "Samuel Abelson" 
}; 
mybooks.books.push(newBook); 
+0

爲什麼浪費推送空間? – mihsathe

+0

@ alex23請查看帖子更新。謝謝。 – Jigberto

7

使用Array.push

var newBook = {"name":"book three","author":"Samuel Abelson"}; 
mybooks.books.push(newBook); 

如果你不是在窗口背景下明確使用window.mybooks.books.push(newBook);

+0

請檢查帖子更新。謝謝。 – Jigberto

+0

@Jigberto它適用於我..看到這個小提琴http://jsfiddle.net/F9DmY/ – PSL

1
var newBook = {"name":"book three","author":"Samuel Abelson"}; 
mybooks.books.push(newBook); 

試試這個它應該工作。使用Javascript Array.push

+0

請檢查後更新。謝謝。 – Jigberto