Comment imprimer un fichier JSON en Python

  1. Méthode json.dumps
  2. Méthode pprint

Le contenu du fichier JSON peut être désordonné si vous le lisez à la chaîne ou si vous le load.

Par exemple, dans un fichier JSON ,

[{"foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]}]

Si vous load et ensuite print.

import json

with open(r'C:\test\test.json', 'r') as f:
    json_data = json.load(f)
    
print(json_data)
[{'foo': 'Etiam', 'bar': ['rhoncus', 0, '1.0']}]

Le résultat est bien lisible par rapport au format standard que nous voyons normalement.

[
  {
    "foo": "Etiam",
    "bar": [
      "rhoncus",
      0,
      "1.0"
    ]
  }
]

Méthode json.dumps

La fonction json.dumps() sérialise l’ obj donné en une str formatée en JSON.

Nous devons donner un entier positif au mot-clé paramètre indent dans la fonction json.dumps() pour afficher l’ obj avec le niveau d’indentation donné. Si ident est défini à 0, il n’insérera que des nouvelles lignes.

import json

with open(r'C:\test\test.json', 'r') as f:
    json_data = json.load(f)
    
print(json.dumps(json_data, indent=2))
[
  {
    "foo": "Etiam",
    "bar": [
      "rhoncus",
      0,
      "1.0"
    ]
  }
]

Méthode pprint

Le module pprint donne la possibilité d’imprimer des structures de données Python. Le module pprint.pprint affiche un objet Python dans un flux suivi d’une nouvelle ligne.

import json
import pprint

with open(r'C:\test\test.json', 'r') as f:
    json_data = f.read()
    json_data = json.loads(json_data)
    
pprint.pprint(json_data)

Le contenu des données du fichier JSON sera imprimé. Et vous pouvez aussi définir l’indentation en assignant le paramètre indent.

pprint.pprint(json_data, indent=2)
A l'attention de

pprint traite les guillemets simples ' et doubles " identiquement, mais JSON n’utilise que ", donc, le contenu du fichier JSON pprincé ne pourrait pas être directement enregistré dans un fichier.

Sinon, le nouveau fichier ne sera pas analysé comme un format JSON valide.

comments powered by Disqus