Wie füge ich dem JSON-Objekt mithilfe von JavaScript ein neues Attribut (Element) hinzu?
javascript
json
bläulich
quelle
quelle
a
ist JSON,a.s
wie gerade von Ihnen definiert, ist eine Zeichenfolge. Jetzt versuchen Sie["subproperty"]
, eine Zeichenfolge hinzuzufügen . Verstehst du jetzt, warum du den Fehler bekommen hast?object["property"] = value;
JSON.stringify
.console.log
es nicht für die Serialisierung vorgesehen ist. Verwenden Sieconsole.log(JSON. stringify(object))
.quelle
Ein JSON-Objekt ist einfach ein Javascript-Objekt. Da Javascript eine prototypbasierte Sprache ist, müssen Sie es nur mit der Punktnotation adressieren.
quelle
danke für diesen Beitrag. Ich möchte etwas hinzufügen, das nützlich sein kann.
Für IE ist es gut zu verwenden
Syntax, da einige spezielle Wörter im IE einen Fehler verursachen können.
Ein Beispiel:
Dies schlägt im IE fehl, da " Klasse " ein spezielles Wort ist. Ich habe mehrere Stunden damit verbracht.
quelle
Mit ECMAScript seit 2015 können Sie die Spread-Syntax verwenden (… drei Punkte):
Hier können Sie Unterobjekte hinzufügen:
das Ergebnis wäre:
Sie können auch Objekte zusammenführen:
quelle
Sie können auch
Object.assign
von verwendenECMAScript 2015
. Außerdem können Sie verschachtelte Attribute gleichzeitig hinzufügen. Z.B:Ps: Dadurch wird das vorhandene Objekt mit den zugewiesenen Attributen nicht überschrieben. Stattdessen werden sie hinzugefügt. Wenn Sie jedoch einem vorhandenen Attribut einen Wert zuweisen, wird dieser überschrieben.
quelle
Erweitert mehrere JSON-Objekte (ignoriert Funktionen):
Wird zu einem einzelnen JSON-Objekt führen
quelle
Sie können Ihrem JSON auch neue JSON-Objekte hinzufügen, indem Sie die Erweiterungsfunktion verwenden.
Eine sehr gute Option für die Erweiterungsfunktion ist die rekursive Zusammenführung. Fügen Sie einfach den wahren Wert als ersten Parameter hinzu (weitere Optionen finden Sie in der Dokumentation). Beispiel,
quelle
Sie können Attribute mit Variablen auch dynamisch direkt in einem Objektliteral hinzufügen.
Ergebnisse in:
quelle
Verwendung
$.extend()
von jquery wie folgt :Ich hoffe du dienst ihnen.
quelle