2009-11-17 128 views
25

我想有另一個JavaScript對象中的JavaScript對象爲這樣:添加JavaScript對象到JavaScript對象

Issues: 

    - {"ID" : "1", "Name" : "Missing Documentation", "Notes" : "Issue1 Notes"} 
    - {"ID" : "2", "Name" : "Software Bug", "Notes" : "Issue2 Notes, blah, blah"} 
    - {"ID" : "2", "Name" : "System Not Ready", "Notes" : "Issue3 Notes, etc"} 
    // etc... 

所以,我想「問題」來保存這些JavaScript對象,使我只能說問題[0] .name和或問題[2] .ID等

我創建JavaScript對象外的問題:

var jsonIssues = {}; 

我的地步,我需要添加一個JavaScript對象,但是不知道如何。我想能夠說:

Issues<code here>.Name = "Missing Documentation"; 
Issues<code here>.ID = "1"; 
Issues<code here>.Notes = "Notes, notes notes"; 

有沒有辦法做到這一點?謝謝。

UPDATE:每給出答案,宣告一個數組,並正在推動需要JavaScript對象上:

var jsonArray_Issues = new Array(); 

jsonArray_Issues.push({ "ID" : id, "Name" : name, "Notes" : notes }); 

感謝您的答覆。

回答

39
var jsonIssues = []; // new Array 
jsonIssues.push({ ID:1, "Name":"whatever" }); 
// "push" some more here 
+0

@jldupont,謝謝你的答案!當我問這個問題時,我並沒有考慮數組的問題。但這是有道理的。 – 2009-11-17 17:12:35

+0

@Mega Matt:我的榮幸。 – jldupont 2009-11-17 17:13:14

+0

會這樣做,因爲我想在第一個位置添加對象。 – 2014-09-23 07:08:45

8
var jsonIssues = [ 
{ID:'1',Name:'Some name',Notes:'NOTES'}, 
{ID:'2',Name:'Some name 2',Notes:'NOTES 2'} 
]; 

如果要添加到陣列中,那麼你可以做到這一點

jsonIssues[jsonIssues.length] = {ID:'3',Name:'Some name 3',Notes:'NOTES 3'}; 

或者您可以使用推技術,其他人發佈的,這也很好。

+0

所以基本上,我會有一個JSON對象的數組? – 2009-11-17 17:07:00

+0

我相信OP還想知道如何*添加*對象到你有什麼。 – 2009-11-17 17:07:26

+0

您將擁有一組JavaScript對象。 JSON只是一個序列化,恰好符合JavaScript的一個子集。 – Quentin 2009-11-17 17:11:09

3

由於我的第一目的是天然javascript對象(像對象列表一樣使用),push在我的情景中不起作用,但我解決它通過添加新的關鍵如下:

MyObjList['newKey'] = obj; 

除此之外,可能是有用的知道如何刪除相同的對象插入之前:這可以幫助別人

delete MyObjList['key'][id]; 

希望,因爲它幫助我;

+1

這似乎是該操作原始問題的最佳技術答案。 – captainrad 2017-08-04 19:44:51