Les Fichiers JSON En Python

1 - A propos des fichiers JSON

JSON (JavaScript Object Notation) est un format de données populaire et standard utilisé pour représenter et stocker des données structurées constitués de paires attribut-valeur similaire à un dictionnaire Python. Il est courant de transmettre et de recevoir des données entre un serveur et une application Web au format JSON. Ne vous inquiétez pas cependant: JSON est depuis longtemps devenu indépendant du langage et existe comme son propre standard, nous pouvons donc heureusement éviter JavaScript pour traiter les fichiers json.

Exemple: fichier json décrivant une persone

{"name": "Albert",
"email": "albert99@gmail.com",
"loisirs": ["Sport", "Cinema", "Lecture" , "Voyage"]
}

Pour travailler avec JSON, on doit utiliser le module json de Python. On doit pour cela importer le module avant de pouvoir l'utiliser:

import json

2 - Lecture d'un fichier ou un contenu JSON en Python

2.1 - Lecture d'un contenu JSON




Le module json facilite l'analyse des chaînes JSON et des fichiers contenant un objet JSON. Vous pouvez analyser une chaîne JSON à l'aide de la méthode json.loads(). La méthode renvoie un dictionnaire.

Exemple 1: Transformer un contenu JSON à un dictionnaire

import json
personne = '{"name": "Albert",\
"email": "albert99@gmail.com", \
"Loisirs": ["Sport", "Cinema", \
"Lecture" , "Voyage"]}'
# récupération du contenu sous forme d'un dictionnaire
personneDict = json.loads(personne)
print( personneDict)
# affiche : {'name': 'Albert', 'email': 'albert99@gmail.com', 'Loisirs': ['Sport', 'Cinema', 'Lecture', 'Voyage']}

# Accéder à la valeur d'une clé
print("loisirs de la personne: " , personneDict['Loisirs'])
# Affiche: Loisirs de la personne: ['Sport', 'Cinema', 'Lecture', 'Voyage']

2.2 - Lecture d'un fichier JSON

Pour lire un fichier JSON, on utilise la même méthode json.load(). Supposons que vous ayez un fichier nommé personne.json qui contient un objet JSON.

personne.json
{"name": "Albert",
"email": "albert99@gmail.com", 
"loisirs": ["Sport", "Cinema", "Lecture" , "Voyage"]
}

Et maintenant pour lire ce fichier JSON, on utilise le code suivant:

import json

with open('chemin_du_fichier/personne.json') as file:
  jsonData = json.load(file)
  
print(jsonData)
# Output: {'name': 'Albert', 'email': 'albert99@gmail.com', 'loisirs': ['Sport', 'Cinema', 'Lecture', 'Voyage']}

3 - Convertir un dictionnaire à une chaine ou à un fichier JSON

3.1 - Convertir un dictionnaire à une chaine JSON

En Python, il est facile de convertir un dictionnaire à une chaine JSON via la méthode json.dumps():

Exemple:

import json

personneDict = {'name': 
                'Albert', 
                'email': 'albert99@gmail.com', 
                'loisirs': ['Sport', 'Cinema', 'Lecture', 'Voyage']}
print(type(personneDict)) # affiche <class 'dict'>

jsonData = json.dumps(personneDict)
print(type(jsonData)) # affiche: <class 'str'>




Voici un tableau résumant les objets Python et leur équivalents en JSON.

PythonEquivalent en JSON
dictobject
list, tuplearray
strstring
int, floatnumber
Truetrue
Falsefalse
Nonenull

3.2 - Convertir un dictionnaire à un fichier JSON

Pour convertir un dictionnaire Python à un fichier JSON, on utilise la méthode json.dump() ( dump sans 's')

Exemple

import json

personneDict = {'name': 'Albert', 
                'email': 'albert99@gmail.com', 
                'loisirs': ['Sport', 'Cinema', 'Lecture', 'Voyage']
                }

with open('personne.json', 'w') as jsonFile:
  json.dump(personneDict, jsonFile)

Après exécution, un fichier personne.json est généré:

personne.jsom
{"name": "Albert", 
 "email": "albert99@gmail.com", 
 "loisirs": ["Sport", "Cinema", "Lecture", "Voyage"]
}

 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply

Your email address will not be published. Required fields are marked *