JSON steht für J ava S Krypta Ö Objekt N Otation. Es handelt sich um ein Format zur Strukturierung von Daten. Dieses Format wird von verschiedenen Webanwendungen verwendet, um miteinander zu kommunizieren. In diesem Artikel erfahren Sie mehr über JSON Pretty Print
Was ist JSON?
JSON (JavaScript Object Notation) ist ein textbasiertes Datenformat, das mit vielen Programmiersprachen austauschbar ist. Es wird häufig zur Datenübertragung zwischen Client-Server-Anwendungen verwendet. Normalerweise werden minimierte Versionen von JSON-Text übertragen, um Bandbreite zu sparen. Zum Debuggen und Analysieren ist jedoch eine verschönerte Version oder ein hübsch gedrucktes JSON erforderlich. Im Wesentlichen bedeutet „Pretty Print JSON“ die richtige Einrückung, Leerzeichen und Trennzeichen.
Beispiel:
Input: '[ {'studentid': 1, 'name': 'ABC', 'subjects': ['Python', 'Data Structures']}]' Output: [ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] } ]> json.dumps() in Python
Verwenden Sie zunächst die Methode json.loads(), um den JSON-String in zu konvertieren Python Objekt. Um dieses Objekt in einen hübschen JSON-Druckstring umzuwandeln, wird die Methode json.dumps() verwendet. Nachfolgend finden Sie Beispiele und Schritte zum besseren Verständnis dieser Fälle.
Syntax: json.dumps(obj, indent,separator)
Parameter:
- Objekt: Serialisieren Sie obj als JSON-formatierten Stream
- Einzug: Wenn indent eine nicht negative Ganzzahl oder Zeichenfolge ist, werden JSON-Array-Elemente und Objektmitglieder mit dieser Einrückungsebene hübsch gedruckt. Bei einer Einrückungsstufe von 0, negativ oder werden nur Zeilenumbrüche eingefügt.
- Trennzeichen: Falls angegeben, sollten Trennzeichen ein (item_separator, key_separator)-Tupel sein.
Pretty Print JSON-String
Diese Methode verfügt über den Parameter indent zur Angabe der Anzahl der Leerzeichen und einen Separator-Parameter zur Angabe des Trennzeichens zwischen Schlüssel und Wert. Standardmäßig ist das Trennzeichen ein Komma zwischen Schlüssel-Wert-Paaren und ein Doppelpunkt zwischen Schlüssel und Wert. Wenn der Einzugsparameter von json.dumps() negativ, 0 oder eine leere Zeichenfolge ist, gibt es keine Einrückungen und es werden nur Zeilenumbrüche eingefügt. Standardmäßig ist der Einzug „Keine“ und die Daten werden in einer einzelnen Zeile dargestellt.
Der Code nimmt eine JSON-Zeichenfolge, die Schülerdatensätze enthält, analysiert sie in eine Python-Datenstruktur und druckt die JSON-Daten dann hübsch mit der richtigen Einrückung aus, um die Lesbarkeit zu verbessern.
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)> |
>
>
Ausgabe:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Pretty-Printed JSON-Daten in eine Datei mit Einzug=0 .
Der Code nimmt eine JSON-Zeichenfolge, die Schülerdatensätze enthält, analysiert sie in eine Python-Datenstruktur und druckt die JSON-Daten dann hübsch ohne Einrückung aus, wodurch sie kompakter und weniger lesbar werden.
Python3
char zu int
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)> |
Java-Sortier-Arrayliste
>
>
Ausgabe:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Schreiben Sie Pretty Print JSON-Daten in eine Datei
Um ein Python-Objekt als Daten im JSON Pretty Print-Format in eine Datei zu schreiben, wird die Methode json.dump() verwendet. Wie die Methode json.dumps() verfügt sie über die Einrückungs- und Trennparameter, um verschönertes JSON zu schreiben.
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>)> |
>
>
Ausgabe:
Dateiname.json
JSON-Daten lesen und hübsch ausdrucken
Um JSON aus einer Datei oder URL zu lesen, verwenden Sie json.load(). Verwenden Sie dann json.dumps(), um das Objekt (das durch das Lesen der Datei erhalten wurde) in einen hübschen JSON-Druckstring zu konvertieren.
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)> |
>
>
Ausgabe:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Benutzen pprint-Modul zum hübschen Drucken von JSON um unser JSON-Format auszudrucken
Dieser Code liest JSON-Daten aus einer Datei namens test.json, analysiert sie in eine Python-Datenstruktur und druckt sie dann mithilfe der beiden integrierten Funktionenprint>Funktion und diepprint>Modul. Derpprint>Das Modul wird verwendet, um die JSON-Daten mit bestimmten Formatierungsoptionen wie einem Einzug von 2, einer Zeilenbreite von 30 Zeichen und einer kompakten Darstellung hübsch zu drucken.
Python3
Alphabet in Zahlen
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)> |
>
>
Ausgabe:
{'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]'}')> Pretty-Print-JSON über die Befehlszeile
In diesem Beispiel versuchen wir, Daten über die Befehlszeile zu drucken. Um JSON-Objekte über die Befehlszeile zu validieren und hübsch zu drucken, bietet Python das Paket json.tool an.
Python3
echo {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]} | python>->m json.tool> |
>
>
Ausgabe:
{ 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }>