Как читать JSON-файл в Python

Wie liest man JSON-Dateien in Python?

Hallo an alle! Heute werden wir versuchen herauszufinden: Was ist JSON und wie liest man eine JSON-Datei in Python?

Zunächst einige Fakten:

  • JSON steht für JavaScript Object Notation
  • Dies ist ein Datenaustauschformat, bei dem Sie Daten von Client zu Server und von Server zu Client übertragen können
  • Es wird auch für die Kommunikation zwischen Anwendungen verwendet
  • JSON ist äußerst wichtig für die Anwendungsentwicklung, insbesondere wenn Sie mit der Rest-API arbeiten
  • Es basiert auf einer Teilmenge von Java Script
  • Es ist leicht zu lesen und zu schreiben
  • Wir haben uns mit der Theorie vertraut gemacht und lernen nun die grundlegenden Syntaxregeln beim Arbeiten mit dem JSON-Format:

  • JSON verwendet Schlüssel-Wert-Paare – {„name“: „Vasya“}

  • JSON verwendet doppelte Anführungszeichen um den Schlüssel
    Normalerweise sprechen sie in Tutorials über das Team mit Daten zu Gehalt, Wohnort und all dem Zeug. Lassen Sie uns die Tradition nicht brechen und stellen Sie sich ein Team vor, das aus 5 Mitarbeitern besteht: Vasya, Sasha, Petya, Dasha, Masha. Jeder Mitarbeiter erhält ein bestimmtes Gehalt, was bedeutet, dass wir unsere eigene JSON-Datei erstellen können (nennen wir die Datei personal.json), die eine Liste der Mitarbeiter + ihres Gehalts sein wird:
{
"personal" :   [
{
"name" :   "Вася" ,
"salary" :   5000
} ,
 
{
"name" :   "Саша" ,
"salary" :   6000
} ,
 
{
"name" :   "Петя" ,
"salary" :   9000
 
} ,
 
{
"name" :   "Даша" ,
"salary" :   10000
 
},
 
{
"name" :   "Маша" ,
"salary" :   11000
 
}
]
}

Wie Sie sehen können, ist das Namensfeld für den Namen des Mitarbeiters und das Gehaltsfeld für die Gehaltsstufe verantwortlich, aber der Name dieses Datenarrays selbst ist persönlich (ganz oben angegeben). Wir haben eine Datendatei, aber wie liest man sie? Sehen Sie sich dazu den folgenden Code an:
import json #Schließen Sie die Bibliothek ein, die für die Arbeit mit JSON verantwortlich ist

with open(‚personal.json‘, ‚r‘, encoding=’utf-8′) as f: #Öffne die Datei personal.json und gib ihre Kodierung an, damit wir mit russischen Buchstaben arbeiten können
text = json.load(f) #alles, was als Ergebnis der Bibliothek herausgekommen ist, in eine Variable stecken
print(text) #gibt das Ergebnis auf dem Bildschirm aus

Wenn Sie den Code ausführen, erhalten Sie Folgendes auf dem Bildschirm:
{‚persönlich‘: [{’name‘: ‚Vasya‘, ’salary‘: 5000}, {’name‘: ‚Sasha‘, ’salary‘: 6000}, {’name‘: ‚Petya‘, ’salary‘ : 9000}, {’name‘: ‚Dascha‘, ‚gehalt‘: 10000}, {’name‘: ‚Masha‘, ‚gehalt‘: 11000}]}

Stimmen Sie zu – es ist äußerst schwierig, solche Daten zu lesen und zu analysieren. Um die Arbeit in einem solchen Fall zu vereinfachen, wird oft die pprint-Bibliothek verwendet, die das Thema in solchen Fällen kultiviert. In diesem Fall sieht unser Code so aus:

  1. import json #подключили библиотеку для работы с json
  2. from pprint import pprint #подключили Pprint для красоты выдачи текста
  3.  
  4. with open('personal.json', 'r', encoding='utf-8') as f: #открыли файл с данными
  5.     text = json.load(f) #загнали все, что получилось в переменную
  6.     pprint(text) #вывели результат на экран

Die resultierende Ausgabe sieht so aus:

  1. {'personal': [{'name': 'Вася', 'salary': 5000},
  2.               {'name': 'Саша', 'salary': 6000},
  3.               {'name': 'Петя', 'salary': 9000},
  4.               {'name': 'Даша', 'salary': 10000},
  5.               {'name': 'Маша', 'salary': 11000}]}

Und jetzt zeigen wir die Daten in ihrer reinen Form an – den Namen des Mitarbeiters + Gehalt. Dann sieht der Code so aus:

import json #Enthält die Bibliothek
 
mit open('personal.json', 'r', encoding='utf-8') als f: #Datei öffnen
text = json.load(f) # alles aus der Datei in eine Variable getrieben
print(text) #zeigte das Ergebnis auf dem Bildschirm an
 
for txt in text['personal']: #erstellte eine Schleife, die Zeile für Zeile funktioniert
print(txt['name'], ':', txt['salary']) #und alles im Wert der Namens- und Gehaltsschlüssel anzeigen

Eigentlich … könnte man sagen, dass für heute alles reicht, aber am Ende werde ich Ihnen sagen, wie man nicht json-Dateien, sondern Zeilen liest. Zum Beispiel haben wir eine JSON-Zeichenfolge:
Strich = ‚{„Essen“: „Banane“}‘
Wenn wir versuchen, es auf dem Bildschirm anzuzeigen, erhalten wir:
{„food“: „banana“} – was im Allgemeinen die Essenz vermittelt, sich aber nicht an die Regeln hält 🙂 Zur Ausgabe des JSON-Strings wird die Loads-Funktion verwendet. In Codeform sieht das so aus:

import json #подключаем библиотеку для работы с json
stroke = '{"food": "banana"}' #json-строка
stroke_s = json.loads(stroke) #загоняем в переменную результат чтения json-строки
print(stroke_s) #выводим результат на экран

Das ist alles 🙂 Vielen Dank für Ihre Aufmerksamkeit! Und ja – wir werden etwas später herausfinden, wie man in eine json-Datei schreibt 🙂
Habe Fragen? Fragen Sie per Mail, oder schreiben Sie an Telegram 🙂

UPD: das Video ist rechtzeitig angekommen 🙂