Comment écrire des données dans un fichier JSON à l'aide de Javascript
Par exemple, j'ai un .JSON
fichier est la suivante:
[{"honda": "accord", "color": "red"},{"ford": "focus", "color": "black"}]
Quel serait le code javascript de pousser un autre objet {"nissan": "sentra", "color": "green"}
dans ce .json
tableau pour faire la .json
fichier ressemble
[{"honda": "accord", "color": "red"},{"ford": "focus", "color": "black"},{"nissan": "sentra", "color": "green"}]
La raison que je demande c'est que je viens de trouver beaucoup d'informations en ligne sur la façon d'extraire des données à partir d'un .fichier json à l'aide d'AJAX, mais pas de l'écriture de nouvelles données .fichier json à l'aide d'AJAX pour mettre à jour le .fichier json avec des données supplémentaires.
Toute aide serait appréciée!
- pourquoi n'utilisez-vous pas de base de données ?? et il y a faute de frappe dans vos données json. il manque de l'
"
dans ` "accord" - La solution à cela dépend de quel type de serveur que vous utilisez. Il sera très probablement comprendre l'envoi d'un authentifié requête POST à un script côté serveur.
- Vous devez obtenir les données, les analyser, les transformer, sérialiser, l'envoyer vers le serveur et persister. Quelle partie vous rencontrez des problèmes avec? Notez que la persistance de la partie (l'écriture du fichier) n'a rien à voir avec le JavaScript. Que tout est géré par le serveur. Qui côté serveur de la langue utilisez-vous?
- Je suppose que votre fichier est une partie d'un serveur web déployée app, et vous l'utiliser AJAX pour transporter le contenu d'un navigateur et de saisir de nouvelles informations et vous voulez envoyer une requête AJAX certaines méthode de mise à jour sur le serveur avec les nouvelles informations, ce qui permet à la webapp de mettre à jour le fichier.
- Si vous voulez savoir comment écrire un fichier avec le noeud, regardez. Si vous voulez savoir comment ajouter un élément à un tableau en javascript, qui est assez basique et vous pourriez trouver l'information facilement dans n'importe quelle page du tutoriel sur le javascript. Si c'est le dernier vous pourriez vous reformuler votre question, qui n'a vraiment rien à voir avec JSON, qui est juste une façon de représenter des objets javascript, comme des chaînes de caractères. Si c'est à propos de fichier i/o ou autre chose, il pourrait également être mieux formulé. Je ne peux pas vous dire ce que vous demandez.
Vous devez vous connecter pour publier un commentaire.
Vous devez être clair sur ce que vous entendez par "JSON".
Certaines personnes utilisent le terme JSON tort de se référer à un bon vieux JavaScript objet, comme
[{a: 1}]
. Celui-ci arrive à être un tableau. Si vous voulez ajouter un nouvel élément du tableau, justepush
, comme dansLe mot JSON peut également être utilisé pour se référer à une chaîne de caractères qui est codée au format JSON:
Note le (seul) les guillemets indiquant que c'est une chaîne de caractères. Si vous avez par exemple une chaîne de caractères que vous avez obtenu à partir de quelque part, vous devez d'abord analyser dans un objet JavaScript, en utilisant
JSON.parse
:Maintenant, vous pouvez manipuler l'objet, de la manière que vous voulez, y compris
push
comme indiqué ci-dessus. Ensuite, si vous voulez le mettre dans une chaîne JSON, puis vous utilisezJSON.stringify
:JSON est également utilisé comme un moyen commun pour le format de données pour la transmission de données vers et à partir d'un serveur, où il peut être enregistré (persiste). C'est là que l'ajax est en. Ajax est utilisé à la fois pour obtenir des données, souvent au format JSON, à partir d'un serveur, et/ou pour envoyer des données au format JSON jusqu'au serveur. Si vous avez reçu une réponse d'une requête ajax qui est un format JSON, vous devrez peut-être
JSON.parse
comme décrit ci-dessus. Ensuite, vous pouvez manipuler l'objet, le mettre dans un format JSON avecJSON.stringify
, et utiliser un autre appel ajax pour envoyer les données au serveur pour le stockage ou toute autre manipulation.Vous utilisez le terme "fichier JSON". Normalement, le mot "fichier" est utilisé pour faire référence à un fichier physique sur certains appareils (pas une chaîne de caractères que vous faites affaire avec dans votre code, ou un objet JavaScript). Le navigateur n'a pas accès à des fichiers sur votre machine. Il ne peut pas lire ou écrire. En fait, le navigateur n'a même pas vraiment la notion de "fichier". Ainsi, vous ne pouvez pas lire ou écrire un fichier JSON en local sur votre machine. Si vous envoyez JSON à partir d'un serveur, puis, bien sûr, le serveur est peut-être le stockage de l'JSON sous la forme d'un fichier, mais plus probable que le serveur serait de la construction de l'JSON basé sur ajax demande, basée sur les données qu'il récupère à partir d'une base de données, ou de décodage JSON dans certains requête ajax, et ensuite le stockage des données pertinentes dans sa base de données.
Avez-vous vraiment besoin d'un "fichier JSON", et si oui, où existe-t-elle et d'où vient-il? Avez-vous un format JSON chaîne, que vous avez besoin pour analyser, mainpulate, et tourner dans un nouveau format JSON chaîne? Avez-vous besoin pour obtenir JSON à partir du serveur, et de le modifier, puis de l'envoyer vers le serveur? Ou est votre "fichier JSON" en fait, juste un objet JavaScript, que vous avez simplement besoin de manipuler avec la normale logique JavaScript?
JSON peut être écrit dans le stockage local en utilisant le format JSON.stringify de sérialiser un objet JS. Vous ne pouvez pas écrire dans un fichier JSON à l'aide de seulement JS. Seuls des cookies ou des locaux de stockage
Et pour récupérer l'objet, plus tard,
Malheureusement, aujourd'hui (septembre 2018) vous ne pouvez pas trouver la solution de navigateur pour le côté client d'écriture de fichier.
Si vous voulez mettre à jour votre fichier JSON de la croix-navigateur, vous devez utiliser le serveur et côté client ensemble.
Le script côté client,
Sur le côté client, vous pouvez faire une demande pour le serveur et puis vous avez qu'à lire la réponse du serveur. Ou vous avez pu lire un fichier avec FileReader trop. Pour la croix-navigateur de l'écriture du fichier que vous avez quelques serveur (voir ci-dessous sur la partie serveur).
Serveur de scripts côté
Vous pouvez utiliser un grand nombre de serveurs, mais je tiens à écrire sur PHP et Node.js les serveurs.
En utilisant la recherche de la machine, on pouvait trouver "gratuit Web PHP Hébergement*" ou "gratuit Node.js Hébergement Web". Pour serveur PHP, je recommanderais 000webhost.com et pour Node.js je vous recommande de le voir et de lire cette liste.
PHP côté serveur script solution
Le script PHP pour la lecture et l'écriture à partir du fichier JSON:
Node.js côté serveur script solution
Je pense que Node.js est un peu complexe pour les débutants. Ce n'est pas normal JavaScript comme dans le navigateur. Avant de commencer avec Node.js je vous recommande de lire l'un de deux livres:
L'Node.js script pour la lecture et l'écriture à partir du fichier JSON:
Liens connexes pour Node.js: