Hallo zusammen!!! Heute werden wir versuchen zu verstehen: Was ist JSON und wie liest man eine JSON-Datei in Python?
Zunächst einmal ein paar Fakten:
1. JSON steht für JavaScript Object Notation. Es ist ein Datenaustauschformat, mit dem man Daten von Client zu Server und von Server zu Client übertragen kann.
2. Es wird auch für die Kommunikation zwischen Anwendungen verwendet
3. JSON ist äußerst wichtig für die Anwendungsentwicklung, insbesondere wenn Sie mit den Rest-APIs arbeiten
4. Es basiert auf einer Untermenge von Java Script
5. Es ist leicht zu lesen und zu schreiben
Wir haben die Theorie gelernt, jetzt wollen wir die Grundregeln der Syntax bei der Arbeit mit dem JSON-Format kennenlernen:
1. JSON verwendet Schlüssel-Werte-Paare – {„Name“: „Vasya“}
2. JSON verwendet doppelte Anführungszeichen um den Schlüssel
Normalerweise wird in Tutorials über das Team berichtet, mit Angaben zu Gehalt, Standort und all diesen Dingen. Wir wollen nicht mit der Tradition brechen und stellen uns ein Team vor, das aus 5 Mitarbeitern besteht: Vasya, Sasha, Petya, Dasha, Masha. Jeder Mitarbeiter bekommt ein bestimmtes Gehalt, was bedeutet, dass wir unsere eigene JSON-Datei erstellen können (nennen wir sie personal.json), die eine Liste der Mitarbeiter + ihr Gehalt enthält:
{
\{ "personal\": [
{
\{ "name\": \{ "Vasya",
\{"salary\": 5000
},
{
\"Name\": \"Sasha\",
{\"salary\": 6000
},
{
\"Name\": \"Petya\",
{\"Gehalt\": 9000
},
{
\"Name\": \"Dascha\",
{\"Gehalt\": 10.000
},
{
\"Name\": \"Masha\",
{\"Gehalt\": 11000
}
]
}
wie Sie sehen, ist das Namensfeld für den Namen des Mitarbeiters zuständig, das Gehaltsfeld für die Gehaltsstufe, aber der Name dieses Datenfeldes ist persönlich (ganz oben angegeben). Wir haben die Datendatei, aber wie können wir sie lesen? Schauen wir uns dazu den folgenden Code an:
import json #Verbinden Sie die Bibliothek, die für die Arbeit mit JSON zuständig ist
with open('personal.json', 'r', encoding='utf-8′) as f: #Öffne die Datei personal.json und gib ihre Kodierung an - so können wir mit russischen Buchstaben arbeiten
text = json.load(f) #Füllen Sie die Variable mit allem, was als Ergebnis der Arbeit der Bibliothek erhalten wurde
print(text) #das Ergebnis auf dem Bildschirm ausgeben
Wenn Sie den Code ausführen, erhalten Sie auf dem Bildschirm etwa folgendes Ergebnis:
{‚personal‘: [{‚Name‘: ‚Vasya‘, ‚Gehalt‘: 5000}, {‚Name‘: ‚Sasha‘, ‚Gehalt‘: 6000}, {‚Name‘: ‚Petya‘, ‚Gehalt‘: 9000}, {‚Name‘: ‚Dasha‘, ‚Gehalt‘: 10000}, {‚Name‘: ‚Masha‘, ‚Gehalt‘: 11000}]}
Stimmt – es ist äußerst schwierig, solche Daten zu lesen und zu analysieren. Um die Arbeit in einem solchen Fall zu vereinfachen, verwenden wir oft die pprint-Bibliothek, die die Ausgabe in solchen Fällen zähmt. In diesem Fall würde unser Code wie folgt aussehen:
import json #Verbindungsbibliothek für die Arbeit mit json
from pprint import pprint #Verbinden Sie pprint, um die Textausgabe zu verschönern
with open({\'personal.json\', {\'r\', encoding=\'utf-8\') as f: #Datendatei öffnen
text = json.load(f) # alles in eine Variable laden
pprint(text) #das Ergebnis auf dem Bildschirm ausgeben
Im Ergebnis sieht die Ausgabe wie folgt aus:
{\'personal\': [{\'Name\': {\'Vasya\', {\'salary\': 5000},
{\'name\': {\'Sasha', {\'salary': 6000},
{\'name\': \'Petya', {\'salary': 9000},
{\'name\': {\'Name\': \{\'Dascha', {\'Gehalt': 10.000},
{\'name\': {\'Masha\', {\'Gehalt': 11000}]}
Und nun geben wir die Daten in ihrer reinen Form aus – Name des Mitarbeiters + Gehalt. Dann sieht der Code wie folgt aus:
import json #Verbinden der Bibliothek
with open({\'personal.json\', \'r\', encoding=\'utf-8\') as f: #Datei öffnen
text = json.load(f) #Lade alles aus der Datei in eine Variable
print(text) #das Ergebnis auf dem Bildschirm ausgeben
for txt in text[\'personal\']: #erstellt eine Schleife, die Zeile für Zeile durchläuft
print(txt[\'name\'], \':\', txt[\'gehalt\']) #und druckt alles, was im Wert der Schlüssel für Name und Gehalt steht, auf den Bildschirm
Eigentlich … könnte man sagen, das ist genug für heute, aber am Ende werde ich Ihnen sagen, wie man Strings anstelle von json-Dateien lesen kann. Wir werden zum Beispiel einen json-String haben:
stroke = ‚{„food“: „banana“}‘
Wenn wir versuchen, ihn auf dem Bildschirm anzuzeigen, erhalten wir:
{„food“: „banana“} – was im Allgemeinen den Punkt trifft, aber nicht den Regeln entspricht 🙂 Um den json-String auszugeben, verwenden wir die Funktion loads. In Codeform sieht sie wie folgt aus:
import json #Bibliothek für die Arbeit mit json einbinden
stroke = \'{\"food\": \{"banana\"}"' #json string
stroke_s = json.loads(stroke) #fill the variable with the result of reading the json string
print(stroke_s) #das Ergebnis auf dem Bildschirm ausgeben
Das ist alles 🙂 Danke für eure Aufmerksamkeit! Und ja – wir werden später verstehen, wie man in eine json-Datei schreibt 🙂
Noch Fragen? Frag per Mail, oder schreibe an Telegram 🙂 🙂 🙂
Und übrigens, hier ist das Video: