Tengo un objeto de formato JSON que leí de un archivo JSON que tengo en una variable llamada teamJSON, que se ve así:
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}
Quiero agregar un nuevo elemento a la matriz, como
{"teamId":"4","status":"pending"}
terminar con
{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}
antes de volver a escribir en el archivo. ¿Cuál es una buena forma de agregar al nuevo elemento? Me acerqué pero todas las comillas dobles se escaparon. He buscado una buena respuesta sobre SO, pero ninguna cubre este caso. Se agradece cualquier ayuda.
javascript
json
Charles Wyke-Smith
fuente
fuente
yourObj.theTeam.push({"teamId":"4","status":"pending"});
teamJSON
variable? ¿Es una cadena JSON, es decir,'{"theTeam":[...]}'
un objeto literal real? Sugerencia: useconsole.log(typeof teamJSON)
Respuestas:
JSON es solo una notación ; para realizar el cambio que desea
parse
para que pueda aplicar los cambios a un objeto JavaScript nativo , luegostringify
volver a JSONfuente
teamJSON
. En ningún momento se menciona una cadenaSi desea agregar en la última posición , use esto:
Si desea agregar en la primera posición , use el siguiente código:
Cualquiera que quiera agregar en una determinada posición de una matriz, pruebe esto:
El bloque de código anterior agrega un elemento después del segundo elemento.
fuente
Primero necesitamos analizar el objeto JSON y luego podemos agregar un elemento.
Finalmente JSON.stringificamos el obj de nuevo a JSON
fuente
Por ejemplo, aquí hay un elemento como un botón para agregar un artículo a la cesta y los atributos apropiados para guardar en localStorage.
Después de agregar el objeto JSON al Array, el resultado es (en 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" , "imagen": "1461449679506.jpeg"}]
después de esta acción, puede enviar datos fácilmente al servidor como Lista en Java
El ejemplo de código completo está aquí
¿Cómo guardo un carrito simple usando localStorage?
fuente
En mi caso, mi objeto JSON no tenía ningún Array existente, así que primero tuve que crear un elemento de arreglo y luego tuve que empujar el elemento.
fuente
Supongamos que ya tenemos datos en variable
alreadyData
;fuente