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.

Python Equivalent en JSON
dict object
list, tuple array
str string
int, float number
True true
False false
None null

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