Mam obiekt w formacie JSON, który odczytałem z pliku JSON, który mam w zmiennej o nazwie teamJSON, która wygląda następująco:
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}
Chcę dodać nowy element do tablicy, taki jak
{"teamId":"4","status":"pending"}
skończyć
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}
przed ponownym zapisaniem do pliku. Jaki jest dobry sposób dodania do nowego elementu? Zbliżyłem się, ale wszystkie podwójne cudzysłowy zniknęły. Szukałem dobrej odpowiedzi na SO, ale żadna nie obejmuje tego przypadku. Każda pomoc jest mile widziana.
javascript
json
Charles Wyke-Smith
źródło
źródło
yourObj.theTeam.push({"teamId":"4","status":"pending"});
teamJSON
zmienna? Czy jest to ciąg JSON, tj. Czy'{"theTeam":[...]}'
rzeczywisty literał obiektu? Podpowiedź: użyjconsole.log(typeof teamJSON)
Odpowiedzi:
JSON to tylko notacja ; aby wprowadzić żądaną zmianę,
parse
aby można było zastosować zmiany do natywnego obiektu JavaScript , a następnie zstringify
powrotem do formatu JSONźródło
teamJSON
. W żadnym momencie nie wspomniano o sznurkuJeśli chcesz dodać na ostatniej pozycji, użyj tego:
Jeśli chcesz dodać na pierwszej pozycji, użyj następującego kodu:
Każdy, kto chce dodać coś w określonej pozycji tablicy, spróbuj tego:
Powyższy blok kodu dodaje element po drugim elemencie.
źródło
Najpierw musimy przeanalizować obiekt JSON, a następnie możemy dodać element.
Wreszcie JSON.stringify z obj plecami do JSON
źródło
Na przykład tutaj jest element taki jak przycisk do dodawania pozycji do koszyka i odpowiednie atrybuty do zapisania w localStorage.
Po dodaniu obiektu JSON do Array wynik jest (w LocalStorage):
[{"id": "99", "nameEn": "Product Name1", "price": "767", "image": "1462012597217.jpeg"}, {"id": "93", "nameEn" : "Nazwa produktu2", "price": "76", "image": "1461449637106.jpeg"}, {"id": "94", "nameEn": "Nazwa produktu3", "price": "87" , "image": "1461449679506.jpeg"}]
po tej akcji możesz łatwo wysłać dane do serwera jako List w Javie
Przykład pełnego kodu jest tutaj
Jak mogę przechowywać prosty koszyk za pomocą localStorage?
źródło
W moim przypadku mój obiekt JSON nie miał żadnego istniejącego Array, więc najpierw musiałem utworzyć element tablicy, a następnie musiałem go wypchnąć.
źródło
Załóżmy, że mamy już dane w zmiennej
alreadyData
;źródło