Comment lire et écrire dans un fichier JSON en Python
JavaScript Object Notation (JSON) est un outil de programmation puissant permettant d'échanger rapidement des données entre diverses plates-formes de programmation. Que vous stockiez des données ou créiez une API, la conversion de vos données en JSON les rend réutilisables et appelables, quelle que soit la technologie qui y accède.
Pour favoriser une communication efficace entre Python et d'autres langages de programmation, y compris JavaScript, vous pouvez fournir vos données en tant qu'objet JSON.
Voici comment lire et écrire dans un fichier JSON en Python.
Comment écrire directement dans un fichier JSON
Il y a une mince ligne entre un objet JSON et un dictionnaire Python.
Il est donc facile de stocker un dictionnaire Python au format JSON. Mais pour que cela fonctionne, vous avez besoin de la bibliothèque d'analyseur json .
Pour commencer, créez un fichier JSON dans le répertoire racine de votre projet.
Créez et ouvrez un fichier Python dans le même répertoire. Vous pouvez ensuite écrire un dictionnaire dans le fichier JSON à l'aide de Python :
import json
data = {"MUO":"Media", "Google":"Search", "Python":"Language"}
with open("myfile.json", "w") as j:
json.dump(data, j)
Vous pouvez également écrire un tableau plus complexe dans votre fichier :
import json
data = {"Sites":[{"MUO":"Media", "Google":"Search", "Python":"Language"}]}
with open("myfile.json", "w") as j:
json.dump(data, j)
Comment stocker une liste en JSON en Python
Vous pouvez avoir une liste ou deux et vous souhaitez les enregistrer au format JSON. Une bonne pratique consiste à les convertir en dictionnaire avant de les écrire dans un fichier JSON.
Il existe de nombreuses façons de convertir une liste en dictionnaire Python .
L'exemple de code ci-dessous convertit la liste en dictionnaire avant de l'écrire dans un objet JSON :
import json
data = ["MUO", "Media", "Google", "Search", "Python", "Language"]
data = {data[i]:data[i+1] for i in range(0, len(data), 2)} #convert data into a dictionary
with open("myfile.json", "w") as j:
json.dump(data, j)
Et si vous souhaitez fusionner deux listes en une seule avant de les écrire dans un fichier JSON :
import json
data = ["MUO", "Google", "Python"]
data2 = ["Media", "Search", "Language"]
outputData = {data[i]:data2[i] for i in range(len(data))} #merge the two lists into a dictionary
with open("myfile.json", "w") as j:
json.dump(outputData, j)
Accéder à vos données JSON
Il est facile d'accéder à vos données à partir d'un fichier JSON et de les interroger à l'aide de Python :
import json
with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata)
Output: {'MUO': 'Media', 'Google': 'Search', 'Python': 'Language'}
Et si vous souhaitez obtenir des données spécifiques de votre fichier JSON :
with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata["MUO"])
Output: Media
Interrogez plus rapidement en Python avec JSON
En plus d'être multiplateformes, les objets JSON sont légers et peuvent améliorer la vitesse de réponse lors des requêtes. Et comme vous l'avez vu, rendre les sorties disponibles en tant qu'objets JSON en Python est simple.
Cependant, il peut y avoir quelques différences entre les exemples ici et la mise en œuvre réelle dans un projet réel. Ce sont les connaissances de base dont vous avez besoin pour commencer. Heureusement, vous pouvez même utiliser une base de données NoSQL comme CouchDB avec Python pour stocker les entrées directement au format JSON.