Добавяне на нов елемент от масив в обект JSON
Имам обект във формат JSON, който чета от файл JSON, който е в променлива, наречена teamJSON, и който изглежда така:
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}
Искам да добавя нов елемент към масива, например
{"teamId":"4","status":"pending"}
за да се получи
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}
преди да запишете обратно във файла. Какъв е добрият начин за добавяне към новия елемент? Приближих се, но всички двойни кавички бяха избягали. Потърсих добър отговор в SO, но никой не покрива напълно този случай. Всяка помощ ще бъде оценена.
109
3
JSON е само забележка; за да направите промяна, трябва да я
разгледате
, за да можете да приложите промените към нативен JavaScript обект, а след товастрингирайте
обратно към JSON.Ако искате да добавите на последна позиция, използвайте това:
Ако искате да прибавите на първа позиция, използвайте следния код:
Всеки, който иска да прибави на определена позиция в масив, може да опита това:
Горният блок код добавя елемент след втория елемент.
Например тук има елемент, подобен на бутон за добавяне на елемент в кошницата, и подходящи атрибути за запазване в localStorage.
След добавяне на JSON обект към Array резултатът е (в LocalStorage):
[{"id":"99","nameEn":"Product Name1","price":"767","image":"1462012597217.jpeg"},{"id":"93","nameEn":"Име на продукта2","цена":"76","изображение":"1461449637106.jpeg"},{"id":"94","nameEn":"Product Name3","price":"87","image":"1461449679506.jpeg"}]
след това действие можете лесно да изпратите данните към сървъра като List в Java
Пълният пример за код е тук
https://stackoverflow.com/questions/23554456/how-do-i-store-a-simple-cart-using-localstorage/37169851#37169851