2017-02-16 24 views
0
currentid = 77; 
produktid = 2222; 
name = "bla"; 

$.extend(artikel,{ 
    currentid:{"produktid":produktid, "name":name} 
}); 


var myJsonString = JSON.stringify(artikel); 
console.log(myJsonString); 

Das Ergebnis in der Konsole ist:jQuery/Javascript - Variable als Objektschlüssel

{"currentid":{"produktid":2222,"name":"bla"}} 

Aber ist sein muss:

{"77":{"produktid":2222,"name":"bla"}} 

oder

{77:{"produktid":2222,"name":"bla"}} 

Wie kann Ich mache das?

Antwort

0

Verwenden berechnet Eigenschaftsnamen

currentid = 77; 
produktid = 2222; 
name = "bla"; 

$.extend(artikel,{ 
    [currentid]:{"produktid":produktid, "name":name} 
}); 
1

Sie werden die Eigenschaft mit assoziativer Array Syntax wie diese haben hinzuzufügen.

currentid = 77; 
produktid = 2222; 
name = "bla"; 
obj = {}; 
obj[currentId] = {"produktid": produktid, "name": name}; 

$.extend(artikel, obj); 
var myJsonString = JSON.stringify(artikel); 
console.log(myJsonString); 
+0

Danke, aber guest271314 war schneller ^^ –

+0

@AnneSchwarz Ja, wenn ich seine Antwort gesehen hätte, hätte ich nicht geschrieben ich habe, weil sein schöner ist, erfordern aber ES6 Unterstützung. – kamoroso94