Bonjour,
J'utilise une API qui me renvoit un tas de donnée sous forme d'objet, et j'aimerais persister cette data.
Alors je vais sûrement raconter une grosse bétise (car j'ai lu des choses et d'autre qui sont totalement opposé). Mais j'aimerais savoir comment entregistrer mes données dans un fichier JSON, car j'aimerais avoir une db local.

Ce que j'ai lu et qui me fait douté c'est que le contenu du fichier JSON serait déjà un objet.

10 réponses


bonjour,
tu ne peux pas écrire dans un fichier sur ton ordinateur avec du javascript dans ton navigateur. Mais tu peux utiliser le localStorage.
Documentation : https://developer.mozilla.org/fr/docs/Web/API/Window/localStorage

Laznet
Auteur

En faite je pense que je vais vraiment avoir besoin d'utiliser une db. En faite si par exemple John utilise l'API, il ne voudrait pas que Michel ai accès a ce qu'a généré l'API pour lui. Donc il faudrait que les résultat soit sauvegarder dans une db.

Et pourquoi local ? En faite pour éviter de devoir mettre en place une connexion à MySQL (important dans mon projet).

Tout dépend qui est connecté à ton API

Si c'est un script javascript dans ton navigateur, Non tu ne peux pas faire ça. Le javascript qui s'execute dans ton navigateur, n'a pas le droit de créer/écrire dans un fichier sur ton ordinateur pour des raisons de sécurité. comme nous sommes dans la partie javascript du forum c'est pour cela que je t'ai parlé du localStorage.
utilisation :

var monObjet = { prop1: "value1" };
localStorage.setItem("monObjetDansLocalStorage",  JSON.stringify(monObjet));
// ...
monObjet = JSON.parse(localStorage.getItem("monObjetDansLocalStorage"));

Si c'est un script PHP sur un serveur qui est connecté à l'API alors là oui, tu peux écrire avec PHP les données reçues dans un fichier json sans aucun problème.

Si tu utilises un langage côté serveur (php, nodejs, ...) tu peux le faire facilement.

Laznet
Auteur

D'après ce que je comprend, je peux récupérer l'objet généré par l'API pour l'utiliser en PHP ?

Tu peux nous montrer le lien de l'API que tu veux utiliser

oui si ton API t'envoie les données en json (ou xml ) ce qui est très certainement le cas, aucun problème.

Laznet
Auteur

Sizo0 > j'utilise l'API de Dropbox (Chooser).

Nico41 > Ok je vais voir ça :D

Merci pour vos réponses :D

t'aurais du le dire tout de suite. Attention, le dropbox chooser ne t'envoie pas de fichier ! Il t'envoie un lien vers un fichier qui se trouve dans ta dropbox. Le même genre de lien qu'on utilise pour partager un fichier. Tout ce qui a été dit au dessus ne tient plus !

Laznet
Auteur

En faite je vais être plus précis sur mon projet :

Je désire mettre en place un portfolio modifiable par l'user.
Et donc je créer les fichier du core (donc Chooser etc..) et ce que j'aimerais faire avec justement ma db en JSON c'est proposer un système d'administration.
Et vu que c'est un truc que l'user mettra dans son FTP. Bah j'aimerais qu'il est le libre accès sur sa db.