2010-11-01 8 views
32

Ich habe ein Javascript-Objekt, das so aussieht.Dynamisch zum Javascript hinzufügen Objekt

ips[ipID] = {}

So habe ich am Ende mit einem Bündel von ips up, die Informationen speichern müssen, die wie

ipID { name : 'val', anotherName : 'anotherVal' }

Meine Frage ist, aussehen wird, wie dynamisch hinzufügen ich diese Namen und Werte?

+2

Ich glaube, Sie könnten JSON mit Javascript verwirrend sein. – mikerobi

+0

JSON ist Javascript. Ich frage mich nur, wie ich meinem Objekt dynamisch Werte hinzufügen kann. – Mike

+6

JSON ist kein Javascript, JSON ist ein Datenformat. Das obige Beispiel würde einen Fehler in jedem Standard-JSON-Parser auslösen. – mikerobi

Antwort

27
var ipID = {}; 
ipID.name = 'val'; 
ipID.anotherName = 'anotherVal'; 
+1

Ok, das funktioniert. Ich denke, ich hätte erwähnen sollen, dass meine Namen und Werte beide dynamisch sind. Also verwende ich tmp [Name] = Wert; und dann muss ich tmp hinzufügen. – Mike

5

Wenn Sie die freie Strich Bibliothek verwenden möchten (ein Schweizer Taschenmesser für js Entwickler), könnten Sie die Methode http://documentcloud.github.com/underscore/#extend erweitern verwenden.

So zum Beispiel

var tmp = { name: "asdf", val: "value" }; 
_(ips[ipID]).extend(tmp); 

Hoffnung, das ist klar, wäre es einfacher, zu helfen, wenn Sie eine genauere Frage haben.

48

Ich glaube, dies ist die einfachste Sache ist, Ihre Namen zu tun, wenn es dynamisch:

var myobj = {}; 
var newFieldName = 'my new field name'; 
var newFieldValue = 'my new field value'; 
myobj[newFieldName] = newFieldValue; 
0

Lösung für JSON Objekt:

standardmäßig:

array=[]; 
object={}; 

JSON-Code:

var People= {}; 

Json.People[key]="value"; 

JSON Ergebnis:

{People: 
     { 
     key: "value" 
     } 
} 
Verwandte Themen