Lire des données

Auteur :
  • 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 :

  1. 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.
  2. en utilisant la fonction JSON.stringify(), sérialisez t en une chaîne de caractères au format json que vous stockerez dans la variable t_json
  3. En utilisant l'opérateur typeof vérifiez bien que t_json est bien une chaîne de caractères et non un objet comme t, ces deux variables ne sont donc pas égale
  4. désérialisez t_json en utilisant la fonction JSON.parse() et placez le résultat dans la variable t2
  5. vérifiez que t2 possède bien les mêmes valeurs que t

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 :