Recherche de site Web

Impression jolis JSON en Python


Nous pouvons utiliser le module json de Python pour afficher joliment les données JSON. Le module json est recommandé pour travailler avec des fichiers JSON. Nous pouvons utiliser la méthode dumps() pour obtenir la chaîne JSON joliment formatée.

1. Imprimer joliment une chaîne JSON en Python

import json

json_data = '[{"ID":10,"Name":"Pankaj","Role":"CEO"},' \
            '{"ID":20,"Name":"David Lee","Role":"Editor"}]'

json_object = json.loads(json_data)

json_formatted_str = json.dumps(json_object, indent=2)

print(json_formatted_str)

Sortie :

[
  {
    "ID": 10,
    "Name": "Pankaj",
    "Role": "CEO"
  },
  {
    "ID": 20,
    "Name": "David Lee",
    "Role": "Editor"
  }
]
  • Tout d'abord, nous utilisons json.loads() pour créer l'objet JSON à partir de la chaîne JSON.
  • La méthode json.dumps() prend l'objet JSON et renvoie une chaîne de caractères formatée en JSON. Le paramètre indent définit le niveau d'indentation pour la chaîne formatée.

2. Imprimer joliment un fichier JSON en Python

Voyons ce qui se passe lorsque nous essayons d'imprimer les données d'un fichier JSON. Les données du fichier sont enregistrées dans un format bien lisible.

Fichier JSON joliment formaté
import json

with open('Cars.json', 'r') as json_file:
    json_object = json.load(json_file)

print(json_object)

print(json.dumps(json_object))

print(json.dumps(json_object, indent=1))

Sortie :

[{'Car Name': 'Honda City', 'Car Model': 'City', 'Car Maker': 'Honda', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Model': 'Chiron', 'Car Maker': 'Bugatti', 'Car Price': '3 Million USD'}]
[{"Car Name": "Honda City", "Car Model": "City", "Car Maker": "Honda", "Car Price": "20,000 USD"}, {"Car Name": "Bugatti Chiron", "Car Model": "Chiron", "Car Maker": "Bugatti", "Car Price": "3 Million USD"}]
[
 {
  "Car Name": "Honda City",
  "Car Model": "City",
  "Car Maker": "Honda",
  "Car Price": "20,000 USD"
 },
 {
  "Car Name": "Bugatti Chiron",
  "Car Model": "Chiron",
  "Car Maker": "Bugatti",
  "Car Price": "3 Million USD"
 }
]

Il est clair d'après la sortie que nous devons passer la valeur d'indentation pour obtenir les données JSON dans un format bien présenté.

Références

  • Documentation de json.dumps() sur Python.org
  • Question StackOverflow