logo

Python – Jolie impression JSON

JSON représente J. ava S crypte Ô objet N rotation. C'est un format pour structurer les données. Ce format est utilisé par différentes applications web pour communiquer entre elles. Dans cet article, nous découvrirons JSON Pretty Print

Qu’est-ce que JSON ?

JSON (JavaScript Object Notation) est un format de données textuel interchangeable avec de nombreux langages de programmation. Il est couramment utilisé pour la transmission de données entre applications client-serveur. Habituellement, des versions minifiées du texte JSON sont transmises pour économiser de la bande passante. Cependant, pour le débogage et l'analyse, une version embellie ou un joli JSON imprimé est requise. Essentiellement, joli JSON imprimé signifie avoir une indentation, des espaces blancs et des séparateurs appropriés.

Exemple:



dhanashree verma
  Input:   '[ {'studentid': 1, 'name': 'ABC', 'subjects': ['Python', 'Data Structures']}]'   Output:   [ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] } ]>

json.dumps() en Python

Tout d’abord, utilisez la méthode json.loads() pour convertir la chaîne JSON en Python objet. Pour convertir cet objet en une jolie chaîne JSON d'impression, la méthode json.dumps() est utilisée. Vous trouverez ci-dessous des exemples et des étapes pour mieux comprendre ces cas.

Syntaxe: json.dumps (obj, retrait, séparateur)

Paramètre:

  • obj : Sérialiser obj en tant que flux au format JSON
  • retrait : Si l'indentation est un entier ou une chaîne non négatif, alors les éléments du tableau JSON et les membres de l'objet seront joliment imprimés avec ce niveau d'indentation. Un niveau d'indentation de 0, négatif ou insérera uniquement des nouvelles lignes.
  • séparateurs : S'ils sont spécifiés, les séparateurs doivent être un tuple (item_separator, key_separator).

Jolie chaîne JSON imprimée

Cette méthode a le paramètre indent pour spécifier le nombre d'espaces et un paramètre separator pour spécifier le séparateur entre la clé et la valeur. Par défaut, le séparateur est une virgule entre les paires clé-valeur et deux points entre la clé et la valeur. Si le paramètre d'indentation de json.dumps() est négatif, 0 ou une chaîne vide, alors il n'y a pas d'indentation et seules les nouvelles lignes sont insérées. Par défaut, le retrait est Aucun et les données sont représentées sur une seule ligne.

Le code prend une chaîne JSON contenant les enregistrements des étudiants, l'analyse dans une structure de données Python, puis imprime joliment les données JSON avec une indentation appropriée pour une meilleure lisibilité.

Python3




import> json> json_data>=> '[ {>'studentid'>:>1>,>'name'>:>'ABC'>,> 'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]} ]'> obj>=> json.loads(json_data)> json_formatted_str>=> json.dumps(obj, indent>=>4>)> print>(json_formatted_str)>

>

>

Sortir:

[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]>

Données JSON joliment imprimées dans un fichier avec retrait=0 .

Le code prend une chaîne JSON contenant les enregistrements des étudiants, l'analyse dans une structure de données Python, puis imprime joliment les données JSON sans indentation, ce qui les rend compactes et moins lisibles.

Python3




import> json> json_data>=> '[ {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]} ]'> obj>=> json.loads(json_data)> json_formatted_str>=> json.dumps(obj, indent>=>0>)> print>(json_formatted_str)>

>

>

Sortir:

[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]>

Écrire les données JSON de Pretty Print dans un fichier

Pour écrire un objet Python sous forme de données au format JSON Pretty Print dans un fichier, la méthode json.dump() est utilisée. Comme la méthode json.dumps(), elle possède les paramètres d’indentation et de séparateur pour écrire du JSON embelli.

Python3




import> json> data>=> [{>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]}]> with>open>(>'filename.json'>,>'w'>) as write_file:> >json.dump(data, write_file, indent>=>4>)>

>

>

Sortir:

nom de fichier.json

Lire les données JSON et les imprimer joliment

Pour lire JSON à partir d'un fichier ou d'une URL, utilisez json.load(). Utilisez ensuite json.dumps() pour convertir l'objet (obtenu en lisant le fichier) en une jolie chaîne JSON imprimée.

Python3




import> json> with>open>(>'filename.json'>,>'r'>) as read_file:> > >obj>=> json.load(read_file)> >pretty_json>=> json.dumps(obj, indent>=>4>)> >print>(pretty_json)>

>

>

Sortir:

[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]>

En utilisant module pprint pour imprimer joliment du JSON pour imprimer notre format JSON

Ce code lit les données JSON à partir d'un fichier appelé test.json, les analyse dans une structure de données Python, puis les imprime à l'aide de l'outil intégréprint>fonction et lepprint>module. Lepprint>Le module est utilisé pour imprimer joliment les données JSON avec des options de formatage spécifiques comme une indentation de 2, une largeur de ligne de 30 caractères et une représentation compacte.

si sinon sinon java

Python3




import> json> import> pprint> with>open>(>'test.json'>,>'r'>) as json_data:> >student>=> json.load(json_data)> >print>(student)> >print>(>' '>)> pp>=> pprint.PrettyPrinter(indent>=>2>, width>=>30>, compact>=>True>)> print>(>'Pretty Printing using pprint module'>)> pp.pprint(student)>

>

>

Sortir:

{'Teacher_id': 1, 'name': 'Suraj', 'Salary': 50000, 'attendance': 80, 'Branch': ['English', 'Geometry', 'Physics', 'World History'], 'email': '[email protected]'} Pretty Printing using pprint module ('{'Teacher_id': 1, 'name': ' ''Suraj', 'Salary': 50000, ' ''attendance': 80, ' ''Branch': ['English', ' ''Geometry', 'Physics', ' ''World History'], 'email': ' ''[email protected]'}')>

JSON joliment imprimé à partir de la ligne de commande

Dans cet exemple, nous essayons d'imprimer des données à l'aide de la ligne de commande. Pour valider et imprimer joliment les objets JSON à partir de la ligne de commande, Python propose le package json.tool.

Python3




echo {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]} | python>->m json.tool>

>

>

Sortir:

{ 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }>