diff --git a/_posts/2017-01-22-json.md b/_posts/2017-01-22-json.md index ac3e9e8..e7ee2ea 100644 --- a/_posts/2017-01-22-json.md +++ b/_posts/2017-01-22-json.md @@ -39,14 +39,15 @@ Pas très pratique, mais il doit bien y avoir une solution ! ## Ecrivons la liste des livres dans un fichier La solution est donc d'écrire la liste des livres dans un fichier. -Oui, mais c'est pas si simple. Comment je vais faire ? -Je vais séparer mes livres par des virgules ? Si mon titre contient une virgule, que va t'il se passer ? -Un livre sur chaque ligne alors ? Et si on veut rajouter d'autres informations après ? +Oui, mais c'est pas si simple. -Mais ça veut dire que l'on va devoir écrire une fonction qui va convertir notre tableau en une chaine de caractère que l'on va enregistrer dans notre fichier, -ainsi qu'une autre fonction qui va lire une chaine de caractère d'un fichier et la transformer en fichier. + * Comment je vais faire ? + * Séparer mes livres par des virgules ? + * Si mon titre contient une virgule, que va t'il se passer ? + * Un livre sur chaque ligne alors ? + * Et si on veut rajouter d'autres informations après ? Comme l'auteur ? -Dans notre cas, c'est plutot simple mais ça peut vite se complexifier : +Avec juste un titre, c'est plutot simple, on écrit un titre par ligne : ```python import os @@ -92,7 +93,9 @@ while True: * On doit convertir notre variable (tableau, dictionnaire) en chaine de caractère * On doit écrire ou lire un fichier -## Un modèle plus compliqué, impossible de convertir à la main le tableau en chaine de caractère +La deuxième partie est simple et ne change pas, mais la première semble assez bancale. + +## Si on complexifie, ça ne marche plus Imaginons qu'à la place d'un simple titre, on veuille stocker plus d'informations : @@ -109,9 +112,11 @@ while True: ``` On devrait alors modifier les parties conversions des fonctions charger et sauvegarder. -Mais est-ce que l'ordinateur ne pourrait pas de lui-même convertir notre tableau en texte ? -Oui, on appelle ça sérializer et déserializer des données (magnifique anglicisme au passage). -Et JSON est une manière de faire ça, de convertir un tableau, un dictionnaire python, etc. en texte et vice-versa. +Et ces dernières deviendraient vraiment compliquées. + +*Mais est-ce que l'ordinateur ne pourrait pas de lui-même convertir notre tableau en texte ?* + +Oui, on appelle ça sérializer et déserializer des données (magnifique anglicisme au passage). Et JSON est une manière de faire ça, de convertir un tableau, un dictionnaire python, etc. en texte et vice-versa. ## Découvrons JSON