logo

Formatage JSON en Python

JSON (JavaScript Object Notation) est un format de données populaire utilisé pour échanger des données entre applications. Il s’agit d’un format léger, facile à lire et à écrire pour les humains et facile à analyser et à générer pour les machines.

Format PythonJSON

Notation d'objet Javascript abrégée en JSON est un format léger d'échange de données. Il code Objets Python en tant que chaînes JSON et décode les chaînes JSON en objets Python.

  • De nombreuses API comme Github envoient leurs résultats dans ce format. JSON est probablement le plus largement utilisé pour communiquer entre le serveur Web et le client dans une application AJAX, mais ne se limite pas à ce domaine problématique.
  • Par exemple, si vous essayez de construire un projet passionnant comme ce vous devez formater la sortie JSON pour afficher les résultats nécessaires. Passons donc au module JSON qui Python offres de formatage de la sortie JSON.

Fonctions PythonJSON

    json.dump (fichier objObj): Sérialise obj en tant que flux au format JSON pour fichierObj .json.dumps(obj): Sérialise obj sous forme de chaîne au format JSON.json.load (fichier JSON): Désérialise Fichier JSON à un objet Python.json.loads (fichier JSON): Désérialise Fichier JSON (type : string) vers un objet Python.

Classes Python JSON

    Encodeur JSON :Une classe d'encodeur pour convertir les objets Python au format JSON.Décodeur JSON :Une classe de décodeur pour convertir les fichiers au format JSON en Python obj.

Les conversions sont basées sur ceci table de conversion .



Encodage Python JSON

Le module JSON fournit les deux méthodes suivantes pour encoder des objets Python au format JSON. Nous utiliserons dump() dumps() et la classe JSON.Encoder. La méthode json.dump() est utilisée pour écrire des objets sérialisés Python sous forme de données au format JSON dans un fichier. Le JSON. La méthode dumps() encode n’importe quel objet Python en chaîne au format JSON.

Python3
from io import StringIO import json fileObj = StringIO() json.dump(['Hello' 'Geeks'] fileObj) print('Using json.dump(): '+str(fileObj.getvalue())) class TypeEncoder(json.JSONEncoder): def default(self obj): if isinstance(obj type): return str(obj) print('Using json.dumps(): '+str(json.dumps(type(str) cls=TypeEncoder))) print('Using json.JSONEncoder().encode' + str(TypeEncoder().encode(type(list)))) print('Using json.JSONEncoder().iterencode' + str(list(TypeEncoder().iterencode(type(dict))))) 

Sortir :

Using json.dump(): ['Hello' 'Geeks'] Using json.dumps(): '' Using json.JSONEncoder().encode'' Using json.JSONEncoder().iterencode['''']

Décoder JSON en Python  

Le décodage des chaînes JSON se fait à l'aide de la méthode intégrée json.loads() & json.load() de la bibliothèque JSON en Python. Le json.loads() est utilisé pour convertir le document JSON String en Dictionnaire Python et Le json.load() est utilisé pour lire le document JSON à partir du fichier.

Python3
from io import StringIO import json fileObj = StringIO('['Geeks for Geeks']') print('Using json.load(): '+str(json.load(fileObj))) print('Using json.loads(): '+str(json.loads ('{'Geeks': 1 'for': 2 'Geeks': 3}'))) print('Using json.JSONDecoder().decode(): ' + str(json.JSONDecoder().decode ('{'Geeks': 1 'for': 2 'Geeks': 3}'))) print('Using json.JSONDecoder().raw_decode(): ' + str(json.JSONDecoder().raw_decode('{'Geeks': 1 'for': 2 'Geeks': 3}'))) 

Sortir:

Using json.load(): ['Geeks for Geeks'] Using json.loads(): {'for': 2 'Geeks': 3} Using json.JSONDecoder().decode(): {'for': 2 'Geeks': 3} Using json.JSONDecoder().raw_decode(): ({'for': 2 'Geeks': 3} 34)