Duda con JSON

Crash94

Buen día,

Llevo poco tiempo trabajando con JSON y PHP y me asalta una duda sobre JSON, allá va:

Estoy creando el archivo json mediante PHP de un formulario y por la información que he visto utilizan el fopen con 'w' y no con 'a' (append) y quería saber si se puede utilizar 'a' para json o no.

Sacado de aquí: http://php.net/manual/es/function.fopen.php

Al que le interese le dejo el código, con 'w' me funciona todo correctamente pero si cambio a la 'a' me da errores en el bucle, lo he cambiado de mil formas y no hay manera de sacarlo.

spoiler

gracias.

W0rd

Que errores?, has probado con file-put-contents (ahorras lineas)?

radykal

Sin ver el error es difícil de saber, pero supongo que si usas el modo append, a la segunda escritura del fichero el contenido ya no es un json válido, ya que serían dos json concatenados, por lo que al intentar hacer el decode del contenido igual peta

1 respuesta
Crash94

#3 Sí, si utilizo el append el archivo json se junta, no hay "," entre cada parentesis.

Entonces lo que me quieres decir es que no debería utilizar el append?

radykal

efectivamente, el append es útil para datos desestructurados o tipos de ficheros a los que quieres añadir líneas o datos al final. en el caso de un fichero que debe contener un JSON válido para que la funcion decode pueda parsearlo al diccionario correspondiente necesitas por narices reemplazar todo el contenido siempre. Ya que dos JSON concatenados no formar un JSON válido

1 respuesta
Crash94

#5 Tienes toda la razón, he estado indagando y haciendo algunas preguntas y me han dicho lo mismo. ¡MUCHÍSIMAS GRACIAS!

1

Usuarios habituales

  • Crash94
  • radykal
  • W0rd