J'ai un objet au format JSON que j'ai lu à partir d'un fichier JSON que j'ai dans une variable appelée teamJSON, qui ressemble à ceci:
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}
Je souhaite ajouter un nouvel élément au tableau, tel que
{"teamId":"4","status":"pending"}
pour finir avec
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}
avant de réécrire dans le fichier. Quelle est la bonne façon d'ajouter au nouvel élément? Je me suis rapproché mais tous les guillemets doubles ont été échappés. J'ai cherché une bonne réponse sur SO mais aucune ne couvre tout à fait ce cas. Toute aide est appréciée.
javascript
json
Charles Wyke-Smith
la source
la source
yourObj.theTeam.push({"teamId":"4","status":"pending"});
teamJSON
variable? S'agit-il d'une chaîne JSON, c'est-à-dire d''{"theTeam":[...]}'
un littéral objet réel? Indice: utilisationconsole.log(typeof teamJSON)
Réponses:
JSON n'est qu'une notation ; pour apporter la modification souhaitée
parse
afin de pouvoir appliquer les modifications à un objet JavaScript natif , puisstringify
revenir à JSONla source
teamJSON
. À aucun moment, une chaîne n'est mentionnéeSi vous souhaitez ajouter à la dernière position, utilisez ceci:
Si vous souhaitez ajouter en première position, utilisez le code suivant:
Quiconque souhaite ajouter à une certaine position d'un tableau essaie ceci:
Le bloc de code ci-dessus ajoute un élément après le deuxième élément.
la source
Nous devons d'abord analyser l'objet JSON, puis nous pouvons ajouter un élément.
Enfin, nous JSON.stringify l' obj retour à JSON
la source
Par exemple, voici un élément comme un bouton pour ajouter un article au panier et des attributs appropriés pour l'enregistrement dans localStorage.
Après avoir ajouté un objet JSON au tableau, le résultat est (dans LocalStorage):
[{"id": "99", "nameEn": "Product Name1", "price": "767", "image": "1462012597217.jpeg"}, {"id": "93", "nameEn" : "Nom du produit2", "prix": "76", "image": "1461449637106.jpeg"}, {"id": "94", "nameEn": "Nom du produit3", "prix": "87" , "image": "1461449679506.jpeg"}]
après cette action, vous pouvez facilement envoyer des données au serveur sous forme de liste en Java
L'exemple de code complet est ici
Comment stocker un panier simple en utilisant localStorage?
la source
Dans mon cas, mon objet JSON ne contenait aucun Array existant, je devais donc créer un élément de tableau d'abord, puis pousser l'élément.
la source
Supposons que nous ayons déjà des données en variable
alreadyData
;la source