Hinzufügen eines neuen Array-Elements zu einem JSON-Objekt
Ich habe ein Objekt im JSON-Format, das ich aus einer JSON-Datei lese, die ich in einer Variablen namens teamJSON habe, die wie folgt aussieht:
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}
Ich möchte dem Array ein neues Element hinzufügen, z. B.
{"teamId":"4","status":"pending"}
um am Ende Folgendes zu erhalten
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}
vor dem Zurückschreiben in die Datei. Was ist ein guter Weg, um das neue Element hinzuzufügen? Ich war nah dran, aber alle doppelten Anführungszeichen waren escaped. Ich habe nach einer guten Antwort auf SO gesucht, aber keine deckt diesen Fall wirklich ab. Für jede Hilfe bin ich dankbar.
109
3
JSON ist nur eine Notation; um eine Änderung vorzunehmen, müssen Sie es
parse
, damit Sie die Änderungen auf ein natives JavaScript-Objekt anwenden können, und dannstringify
zurück zu JSON.Wenn Sie an letzter Stelle einfügen wollen, verwenden Sie dies:
Wenn Sie an der ersten Position einfügen möchten, verwenden Sie den folgenden Code:
Wer an einer bestimmten Position eines Arrays hinzufügen möchte, versucht dies:
Der obige Codeblock fügt ein Element nach dem zweiten Element ein.
Zum Beispiel ist hier ein Element wie eine Schaltfläche zum Hinzufügen von Artikeln zum Warenkorb und entsprechende Attribute zum Speichern in localStorage.
Nach dem Hinzufügen des JSON-Objekts zum Array ist das Ergebnis (in LocalStorage):
[{"id":"99","name":"Produktname1","Preis":"767","Bild":"1462012597217.jpeg"},{"id":"93","nameEn":"Produktname2","price":"76","image":"1461449637106.jpeg"},{"id":"94","nameEn":"Produktname3","Preis":"87","image":"1461449679506.jpeg"}]
nach dieser Aktion können Sie die Daten einfach als List in Java an den Server senden
Das vollständige Codebeispiel finden Sie hier
https://stackoverflow.com/questions/23554456/how-do-i-store-a-simple-cart-using-localstorage/37169851#37169851