Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Was ist das JSON Format?

JSON ist die Abkürzung für das Dateiformat JavaScript Object Notation. Es beschreibt ein standardisiertes Datenformat zur Speicherung von Daten. Es zählt zu den Textdateiformaten, da die Daten in menschenlesbarer, natürlicher Sprache abgespeichert wird.

Wie sind diese Dateien aufgebaut?

Der Aufbau von JSON Dateien ist einfach gesagt eine ungeordnete Sammlung von Schlüssel-Wert-Paaren. Für Python-Programmierende ist diese Struktur am Besten mit dem Python Dictionary vergleichbar.

# JavaScript Object Notation
{
    "city": "Berlin",
    "country": "Germany",
    "population": 3645000
}

Die Reihenfolge der Schlüssel „city“, „country“ und „population“ ist nicht vorgegeben, sodass eine JSON Datei mit einer anderen Anordnung als hier, trotzdem identisch zu der gezeigten Datei ist.

In JavaScript können Objekte nur Schlüssel haben, die als Strings repräsentiert sind. Da das Dateiformat JSON von JavaScript abstammt, dürfen dadurch ausschließlich Strings als Schlüssel genutzt werden.

Die Werte innerhalb eines Paares können verschiedene Datentypen annehmen. Erlaubt sind die folgenden Typen:

  • String, z.B. „city“: „Berlin“
  • Zahl, z.B. „population“: 3645000
  • Objekt, z.B. ein weiteres JSON Objekt
  • Array, z.B. „districts“: [„Kreuzberg“, „Pankow“, „Reinickendorf“]
  • Boolean, z.B. „capital“: True
  • Null

Diese große Vielfalt an Datentypen macht JSON zu einem sehr beliebten Dateiformat. Es gibt lediglich ein paar Ausnahmen, welche in der Javascript Object Notation nicht als Wert gespeichert werden können.

In JSON können nämlich keine Funktionen abgespeichert werden. Gleichzeitig können auch Datumsformate nicht nativ hinterlegt werden. Das ist jedoch kein größeres Problem, da man Datumsangaben einfach als String hinterlegt und sie dann beim Auslesen der Datei wieder in ein Datum umwandelt.

Vor- und Nachteile der JavaScript Object Notation

Die Nutzung von solchen Dateien ist aufgrund der Einfachheit im Aufbau sehr beliebt. Die Anforderungen an die Datenstruktur sind vergleichsweise gering und die Dateien sind für viele Anwender schnell und einfach verständlich.

Die weite Verbreitung lässt sich auch dadurch erklären, dass es mittlerweile für alle gängigen Programmiersprachen eigene Parser gibt, welche die Nutzung von JSON noch einfacher machen.

Die Hauptnachteile dieses Dateiformats sind die unscharfe Zahlendefinition und die fehlenden Standards zur Interpretation von nicht-unterstützen Datentypen. Die Javascript Object Notation unterscheidet nicht zwischen den gängigen Zahlenformaten, wie beispielsweise Ganz- oder Dezimalzahlen. Dadurch wird die Interpretation der Zahlen abhängig von der Implementation.

Wie bereits angesprochen gibt es einige Datentypen, welche standardmäßig nicht unterstützt sind, wie beispielsweise Datumsangaben. Das kann man mit der Umwandlung in Strings umgehen. Jedoch gibt es verschiedene Möglichkeiten und Bibliotheken, welche dafür genutzt werden können und es wurde sich nicht auf einen einheitlichen Standard geeinigt.

Welche Anwendungen können mit JSON realisiert werden?

Die JavaScript Object Notation kommt in vielen verschiedenen Anwendungen und Programmiersprachen zum Einsatz. NoSQL und auch verschiedene relationale Datenbanken haben Konnektoren um diese Dateitypen abspeichern zu können.

Darüber hinaus eignet es sich auch für die folgenden Anwendungsfälle:

  • Datenübertragung: Wenn Informationen über eine API angefragt wird, kommt in vielen Fällen die JavaScript Object Notation als Antwortformat zum Einsatz.
  • Übersichtliche Datenspeicherung: Aufgrund der niedrigen Anforderungen an das Datenformat, können flexible Datenstrukturen einfach gespeichert werden.
  • Temporäre Datenspeicherung: Die JavaScript Object Notation findet auch oft Anwendung, um in einem Programm kurzfristig Informationen abzuspeichern. Durch die hohe Kompatibilität mit anderen Programmiersprachen können diese Dateien dann auch ohne weiteres von verschiedenen Anwendungen genutzt werden.

Wie können JSON Dateien in Python bearbeitet werden?

In Python gibt es eine eigene Bibliothek zur Arbeit mit der JavaScript Object Notation. Die entsprechende Datei muss zuerst mit „open“ geöffnet werden. Das hinterlegte JSON Objekt kann anschließend mit „load“ in ein Array von Python Dictionaries umgewandelt werden.

# Import JSON Module  
import json
  
# Open file
file = open('file.json')
  
# parse object in Python dictionary
data_dict = json.load(file)
  
# Close file
file.close()

# Iterate through object
for entry in data_dict: 
    print(entry)

Out: 
{"city": "Berlin", "country": "Germany", "population": 3645000}
{"city": "Paris", "country": "France", "population": 2161000}

Ab jetzt kann mit den Daten genauso gearbeitet werden, wie man es von Python Dictionaries bereits gewöhnt ist.

Das solltest Du mitnehmen

  • JSON ist die Abkürzung für das Dateiformat JavaScript Object Notation.
  • Es beschreibt eine standardisierte Datenformat zur Speicherung von Daten.
  • Das Dateiformat wird für verschiedenste Anwendungen genutzt, da es sehr einfach zu lesen und zu verstehen ist. Darüber hinaus bieten alle gängigen Programmiersprachen Module, welche die Arbeit mit der JavaScript Object Notation vereinfachen.
  • Die unscharfe Zahlendefinition ist der größte Nachteil bei der Nutzung dieses Dateiformats.

Andere Beiträge zum Thema JSON

  • Den formellen Standard für die JavaScript Object Notation der ECMA findest Du hier.


This post first appeared on Data Basecamp, please read the originial post: here

Share the post

Was ist das JSON Format?

×

Subscribe to Data Basecamp

Get updates delivered right to your inbox!

Thank you for your subscription

×