Ajout d'un nouvel élément de tableau à un objet JSON
J'ai un objet au format JSON que je lis depuis 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 veux ajouter un nouvel élément au tableau, tel que
{"teamId":"4","status":"pending"}
pour obtenir
{"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 m'en suis approché mais tous les guillemets doubles étaient échappés. J'ai cherché une bonne réponse sur SO mais aucune ne couvre ce cas. Toute aide est la bienvenue.
109
3
JSON n'est qu'une notation ; pour effectuer le changement, vous devez [
parse
][1] le faire de manière à pouvoir appliquer les changements à un objet JavaScript natif, puis [stringify
][2] le ramener à JSON.[1] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse [2] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
Si vous voulez ajouter à la dernière position, utilisez ceci :
Si vous voulez ajouter à la première position, utilisez le code suivant :
Si vous voulez additionner à une certaine position d'un tableau, essayez ceci :
Le bloc de code ci-dessus ajoute un élément après le deuxième élément.
Par exemple, voici un élément comme un bouton pour ajouter un article au panier et des attributs appropriés pour l'enregistrer dans le LocalStorage.
Après avoir ajouté l'objet JSON à Array, le résultat est (dans LocalStorage) :
[{"id":"99" ;,"nameEn":"Product Name1" ;,"price":"767" ;,"image":"1462012597217.jpeg"},{"id":"93" ;,"nameEn":"Product Name2" ;,"price":"76" ;,"image":"1461449637106.jpeg"},{"id":"94" ;,"nameEn":"Product Name3" ;,"price":"87" ;,"image":"1461449679506.jpeg"}].
Après cette action, vous pouvez facilement envoyer des données au serveur en tant que List en Java.
L'exemple de code complet est ici
https://stackoverflow.com/questions/23554456/how-do-i-store-a-simple-cart-using-localstorage/37169851#37169851