Ajouter des données à une .Fichier JSON en PHP
J'ai cette .fichier json:
[
{
"id": 1,
"title": "Ben\\'s First Blog Post",
"content": "This is the content"
},
{
"id": 2,
"title": "Ben\\'s Second Blog Post",
"content": "This is the content"
}
]
C'est mon code PHP:
<?php
$data[] = $_POST['data'];
$fp = fopen('results.json', 'a');
fwrite($fp, json_encode($data));
fclose($fp);
La chose est, je ne suis pas exactement sûr de savoir comment y parvenir. Je vais l'appeler ce code ci-dessus chaque fois qu'un formulaire est soumis, j'ai donc besoin de l'ID de l'accroissement et à conserver la validité de la structure JSON avec [
et {
, est-ce possible?
- Je ne pense pas que JSON est un différentiel format; vous aurez à deserialise, ajouter votre nouveau disque, et serialise de nouveau.
- Je sais que ce n'est pas la réponse à votre question, mais cela me rappelle une fois j'ai essayé de faire la même chose avec XML. Le but était de stocker les messages de blog, et je pensais que ça allait être une façon cool d'éviter d'avoir besoin de MySQL. Ceci, cependant, ne s'est pas avéré être le cas. C'est plus fiable, pour une meilleure pratique, et beaucoup moins de douleur dans le long terme, pour utiliser une base de données plutôt que d'un fichier de ce type de données. Je m'excuse, je sais que c'est super gênant quand vous posez une question et que quelqu'un donne à "ne pas faire" comme une réponse (c'est pourquoi je poste ce qu'un commentaire). C'est juste ce que je veux je l'avais dit plus tôt.
- Ajouter des données à une .Fichier JSON [enter description du lien ici][1] [1]: stackoverflow.com/questions/12290572/...
- comment le fichier interprétés comme des données doivent être formatées pour que cela fonctionne?
Vous devez vous connecter pour publier un commentaire.
Cela a pris le dessus c exemple et a déménagé à php. Cela permettra de sauter à la fin du fichier et ajouter les nouvelles données sans avoir à lire tout le fichier en mémoire.
=== null
à=== false
a fonctionné pour moi.Vous êtes en train de détruire vos données json en aveugle en ajoutant du texte. JSON est pas un format qui peut être manipulé comme ça.
Vous devrez charger votre json texte, de les décoder, de manipuler les données résultant de la structure, puis de le ré-encoder/enregistrer.
Disons que vous avez
[1,2,3]
stockées dans votre dossier. Votre code peut tourner que dans la[1,2,3]4
, qui est syntaxiquement incorrect.Si vous voulez ajouter un autre élément de tableau à un fichier JSON comme ton exemple le montre, ouvrir le fichier et de chercher à la fin. Si le fichier a déjà des données, une recherche arrière d'un octet pour remplacer le
]
à la suite de la dernière entrée, puis d'écrire,
ainsi que les nouvelles données moins la première[
des nouvelles données. Sinon, c'est votre premier élément du tableau, alors il suffit d'écrire votre tableau normalement.Désolé, je ne connais pas assez bien le PHP pour post code, mais j'ai fait cela en Obj-C et ça m'a permis d'éviter de lire le fichier en entier dans la première, juste pour ajouter à la fin:
Exemple de code que j'ai utilisé pour ajouter des tableau JSON JSON fichier.
J'ai écrit ce code PHP pour ajouter json d'un fichier json.
Le code de joindre le fichier entier entre crochets et de séparer le code avec des virgules.
GoodLuck