Lire des données
- François Brucker
Récupérer des données sur internet avec javascript.
Gestion des fichiers
Fichier avec node
Fichier côté front
Données json
Lorsque l'on veut stocker ou transmettre des données, il faut les convertir au format texte. L'usage courant est de les écrire au format json. Ce format est facile à lire et ressemble aux dictionnaires de js ou de python.
format json
Des données écrites sous un format texte comme le json sont dites sérialisées. On les désérialise pour les retransformer en js.
Dans une console node :
- créez la variable
t
contenant le tableau[1, "deux", {x:1, y:3}]
contenant un entier, une chaîne de caractères et un dictionnaire. - en utilisant la fonction
JSON.stringify()
, sérialisezt
en une chaîne de caractères au format json que vous stockerez dans la variablet_json
- En utilisant l'opérateur
typeof
vérifiez bien quet_json
est bien une chaîne de caractères et non un objet commet
, ces deux variables ne sont donc pas égale - désérialisez
t_json
en utilisant la fonctionJSON.parse()
et placez le résultat dans la variablet2
- vérifiez que
t2
possède bien les mêmes valeurs quet
solution
solution
» node
Welcome to Node.js v21.1.0.
Type ".help" for more information.
> t = [1, "deux", {x:1, y:3}]
[ 1, 'deux', { x: 1, y: 3 } ]
> t_json = JSON.stringify(t)
'[1,"deux",{"x":1,"y":3}]'
> typeof t
'object'
> typeof t_json
'string'
> t2 = JSON.parse(t_json)
[ 1, 'deux', { x: 1, y: 3 } ]
> t
[ 1, 'deux', { x: 1, y: 3 } ]
Contrairement à python, javascript ne possède pas de fonction permettant de tester l'égalité entre deux tableaux. La façon courante de vérifier l'égalité entre deux tableaux est de vérifier que leur sérialisation est identique...
Côté client, la façon la plus simple d'utiliser des fichiers json avec node ou côté front est de charger le fichier texte, puis de le convertir en json en utilisant la fonction JSON.parse
(on va voir un exemple juste après en utilisant la fonction fetch de javascript).
Charger des fichiers avec la fonction fetch
TBD problème de sécurité expliciter cors et htaccess
La fonction fetch de javascript permet de charger tout un tas de choses, bien plus que juste des fichiers json :