INI-JSONkonverter

Wissen · 9 Min. Lesezeit

Was ist JSON? Format, Aufbau und einfache Beispiele erklärt

Was ist JSON? Das JSON-Format einfach erklärt: Aufbau aus Objekten und Arrays, die sechs Datentypen, typische Einsatzgebiete wie APIs und Konfiguration, JSON lesen und schreiben sowie die häufigsten Fehler.

Jan-Tristan Rudat
Jan-Tristan Rudat Veröffentlicht Geprüft

Kurz gesagt

JSON (JavaScript Object Notation) ist ein leichtgewichtiges, textbasiertes Datenformat. Es speichert Daten als Schlüssel-Wert-Paare in Objekten (geschweifte Klammern { }) und als geordnete Listen in Arrays (eckige Klammern [ ]). Im Gegensatz zu INI kennt JSON echte Datentypen (Text, Zahl, true/false, null) und kann beliebig tief verschachteln. Es ist der Standard für den Datenaustausch über Web-APIs und ein häufiges Format für Konfigurationsdateien. Eine JSON-Datei öffnest du mit jedem Texteditor, und aus einer INI-Datei lässt sie sich direkt erzeugen.

Was ist JSON? Die Definition

Die Abkürzung JSON steht für JavaScript Object Notation, also JavaScript-Objektschreibweise. Trotz des Namens ist JSON heute völlig sprachunabhängig: Praktisch jede Programmiersprache, von Python über PHP und Java bis Go, kann JSON lesen und schreiben. Entstanden ist das Format Anfang der 2000er Jahre aus der Notation von JavaScript-Objekten, und es hat sich seither zum mit Abstand wichtigsten Format für den Datenaustausch im Web entwickelt. Die Dateiendung lautet .json, der zugehörige MIME-Typ ist application/json.

Im Kern ist eine JSON-Datei eine reine Textdatei, die strukturierte Daten in einer klar definierten Form speichert. Diese Form ist so einfach, dass ein Mensch sie lesen kann, und gleichzeitig so streng, dass eine Maschine sie eindeutig und fehlerfrei verarbeiten kann. Genau diese Balance zwischen Lesbarkeit und Strenge ist der Grund für den Erfolg von JSON. Anders als das ältere XML kommt JSON ohne öffnende und schließende Tags aus und wirkt dadurch deutlich kompakter.

Ein kleines Beispiel macht das greifbar. Eine JSON-Datei mit Angaben zu einer Person sieht so aus:

{
  "name": "Anna",
  "alter": 34,
  "aktiv": true,
  "stadt": "Hamburg",
  "hobbys": ["Lesen", "Klettern"]
}

Schon an diesem Beispiel erkennst du die wichtigsten Bausteine: ein Objekt in geschweiften Klammern, darin mehrere Schlüssel-Wert-Paare, ein Text in Anführungszeichen, eine Zahl ohne Anführungszeichen, ein Wahrheitswert (true) und ein Array mit zwei Einträgen.

Der Aufbau: Objekte und Arrays

JSON kennt nur zwei Strukturen, mit denen sich beliebig komplexe Daten beschreiben lassen: das Objekt und das Array. Alles andere sind einfache Werte, die in diesen beiden Strukturen stecken.

Das Objekt

Ein Objekt steht in geschweiften Klammern { } und enthält eine ungeordnete Sammlung von Schlüssel-Wert-Paaren. Der Schlüssel ist immer ein Text in doppelten Anführungszeichen, gefolgt von einem Doppelpunkt und dem Wert. Mehrere Paare werden durch Kommas getrennt. Ein Objekt entspricht ungefähr dem, was eine INI-Sektion abbildet, ist aber deutlich flexibler, weil ein Wert selbst wieder ein Objekt sein darf.

Das Array

Ein Array steht in eckigen Klammern [ ] und enthält eine geordnete Liste von Werten, getrennt durch Kommas. Die Werte können beliebige Typen sein, auch gemischt, und auch wieder Objekte oder Arrays. Genau hier liegt eine der großen Stärken von JSON gegenüber INI: Eine Liste gleichartiger Einträge lässt sich sauber und eindeutig abbilden.

Weil ein Wert wiederum ein Objekt oder Array sein kann, lässt sich JSON beliebig tief verschachteln. Eine Konfiguration mit Servern, deren Datenbanken jeweils eigene Einstellungen haben, ist damit kein Problem:

{
  "server": {
    "host": "localhost",
    "port": 8080,
    "datenbank": {
      "name": "shop",
      "ssl": true
    }
  }
}

Diese Fähigkeit zur tiefen Verschachtelung ist der zentrale Unterschied zum flachen INI-Format. Wie sich solche Strukturen beim Hin- und Herwandeln verhalten, zeigen wir im Ratgeber Verschachtelte INI-Sektionen in JSON abbilden.

Die sechs Datentypen von JSON

Anders als INI, das alles als Text speichert, codiert JSON den Typ eines Werts direkt mit. Es gibt genau sechs erlaubte Datentypen. Diese Tabelle fasst sie zusammen:

Typ Beschreibung Beispiel
String Text in doppelten Anführungszeichen "Hamburg"
Number Zahl, ganz oder mit Dezimalpunkt 34 oder 4.90
Boolean Wahrheitswert true oder false
null leerer, nicht gesetzter Wert null
Object Sammlung von Schlüssel-Wert-Paaren { "a": 1 }
Array geordnete Liste von Werten [1, 2, 3]

Wichtig: Eine Zahl wie 42 ohne Anführungszeichen ist eine echte Zahl, der Text "42" mit Anführungszeichen ist dagegen ein String. Dieser Unterschied ist bedeutsam, weil ein Programm mit der Zahl rechnen kann, mit dem String aber nicht. Genau diese Eindeutigkeit fehlt INI, wo port=42 für die Datei zunächst nur Text ist. Was beim Umwandeln daraus wird, behandelt der Ratgeber INI-Datentypen in JSON.

Die Syntaxregeln im Überblick

JSON ist bewusst streng. Diese Strenge ist kein Nachteil, sondern der Grund, warum jeder Parser eine gültige JSON-Datei garantiert gleich versteht. Die wichtigsten Regeln:

  • Schlüssel immer in doppelten Anführungszeichen: "name" ist korrekt, name oder 'name' nicht.
  • Nur doppelte Anführungszeichen: Einfache Anführungszeichen sind in JSON nicht erlaubt, auch nicht für Werte.
  • Kein abschließendes Komma: Nach dem letzten Eintrag in einem Objekt oder Array darf kein Komma stehen.
  • Keine Kommentare: Der Standard verbietet Kommentare. Das ist Absicht.
  • Zeichensatz UTF-8: JSON ist standardmäßig UTF-8 codiert, deutsche Umlaute wie ä, ö, ü und ß sind also problemlos möglich.
  • Sonderzeichen escapen: Innerhalb eines Strings werden Anführungszeichen, Backslash und Zeilenumbruch mit einem Backslash maskiert, zum Beispiel \" oder \n.

Wofür man JSON nutzt

JSON ist das Verkehrsmittel der Daten im Web. Überall dort, wo Programme strukturierte Informationen austauschen, ist JSON meist die erste Wahl. Typische Einsatzgebiete:

  • Web-APIs: Wenn eine App Wetterdaten, Produkte oder Nutzerinfos von einem Server abruft, kommen die Daten fast immer als JSON zurück.
  • Konfigurationsdateien: Werkzeuge wie Node.js (package.json), TypeScript (tsconfig.json) oder VS Code (settings.json) speichern ihre Einstellungen in JSON.
  • Dokumentdatenbanken: Systeme wie MongoDB speichern Datensätze direkt in einer JSON-nahen Struktur.
  • Datenaustausch zwischen Sprachen: Ein Python-Programm kann Daten als JSON ablegen, die ein JavaScript-Frontend wieder einliest.
  • Logs und Nachrichten: Strukturierte Logdaten und Nachrichten in Warteschlangen werden häufig als JSON-Zeilen geschrieben.

Der gemeinsame Nenner: JSON ist herstellerunabhängig, kompakt und in jeder modernen Sprache mit einem einzigen Funktionsaufruf zu erzeugen oder zu lesen. Für reine Konfiguration ist es allerdings nicht immer die angenehmste Wahl, weil es keine Kommentare erlaubt. Hier punkten INI und YAML, der Vergleich steht im Ratgeber INI, YAML oder JSON.

JSON lesen und schreiben: Schritt für Schritt

Eine JSON-Datei zu öffnen ist einfach, weil es ja nur Text ist. Je nach Ziel bieten sich verschiedene Wege an.

Im Texteditor ansehen

Öffne die Datei mit dem Windows-Editor, TextEdit auf dem Mac oder einem Code-Editor wie VS Code. Du siehst den Rohinhalt sofort. Code-Editoren bieten zusätzlich Syntax-Hervorhebung und melden Fehler, etwa ein fehlendes Komma.

JSON formatieren (Pretty-Print)

  1. Kopiere das oft einzeilige, minifizierte JSON aus einer API-Antwort.
  2. Füge es in einen Formatierer ein und wähle die gewünschte Einrückung (meist 2 Leerzeichen).
  3. Das Werkzeug erzeugt eingerücktes, gut lesbares JSON, ohne den Inhalt zu verändern.

Wann sich kompaktes gegen lesbares JSON lohnt, erklärt der Ratgeber JSON formatieren und einrücken.

JSON im Code erzeugen

In JavaScript verwandelt JSON.stringify(objekt) ein Objekt in einen JSON-Text und JSON.parse(text) einen JSON-Text zurück in ein Objekt. In Python heißen die Gegenstücke json.dumps() und json.loads(). Diese Funktionen sind eingebaut, du brauchst keine zusätzliche Bibliothek.

Die häufigsten Fehler

Weil JSON so streng ist, scheitern Parser bereits an Kleinigkeiten. Diese Fehler tauchen am häufigsten auf:

  • Abschließendes Komma: [1, 2, 3,] ist ungültig, das letzte Komma muss weg.
  • Einfache statt doppelte Anführungszeichen: { 'name': 'Anna' } ist kein gültiges JSON.
  • Schlüssel ohne Anführungszeichen: { name: "Anna" } funktioniert in JavaScript, in JSON aber nicht.
  • Kommentare eingefügt: Ein // Hinweis macht die Datei ungültig.
  • Falsche Zahlen: Führende Nullen wie 007 oder ein Dezimalkomma wie 4,90 statt 4.90 sind nicht erlaubt.

Ein guter Parser nennt bei einem Fehler die betroffene Zeile. Genau deshalb meldet auch unser Konverter beim Weg von JSON nach INI eine freundliche Fehlermeldung mit Zeilenhinweis, statt einfach ein leeres Ergebnis auszugeben.

Vorteile und Grenzen

So mächtig JSON ist, es hat klare Grenzen. Ehrlich betrachtet sieht die Bilanz so aus:

Vorteile Grenzen
Echte Datentypen direkt im Format Keine Kommentare erlaubt
Beliebig tiefe Verschachtelung Strenge Syntax, fehleranfällig beim Tippen
In jeder Sprache nativ verarbeitbar Kein Datum-Typ, Datum nur als String
Kompakter als XML, gut lesbar Für reine Konfiguration weniger gemütlich als INI/YAML

Das Fehlen von Kommentaren ist in der Praxis die häufigste Reibung. Wer eine Konfiguration ausführlich erklären möchte, vermisst sie. Auch deshalb ist INI für manche Einsatzzwecke nach wie vor angenehmer. Die Stärken und Schwächen beider Formate stellt der Ratgeber INI oder JSON? direkt gegenüber.

Von INI zu JSON

Wenn du eine bestehende INI-Konfiguration in einer Anwendung verwenden möchtest, die JSON erwartet, musst du sie umwandeln. Der Weg ist unkompliziert: Aus jeder INI-Sektion [server] wird ein JSON-Objekt, aus jedem key=value-Paar ein Schlüssel-Wert-Paar. Auf Wunsch erkennt eine Heuristik true, false und reine Zahlen automatisch als passende JSON-Typen.

Genau das erledigt unser INI-zu-JSON-Konverter: Er liest deine INI-Datei, erkennt Sektionen und Kommentare, löst auf Wunsch verschachtelte Sektionen wie [a.b] in verschachtelte Objekte auf und erzeugt sauber eingerücktes JSON. Das geschieht zu 100 Prozent lokal in deinem Browser, ohne Upload und ohne Anmeldung, deine Datei verlässt dein Gerät also nicht. Den kompletten Ablauf zeigt der Ratgeber INI in JSON umwandeln.

Häufige Fragen

Wofür steht die Abkürzung JSON?

JSON steht für JavaScript Object Notation. Das Format entstand aus der Objektschreibweise von JavaScript, ist heute aber sprachunabhängig und wird von praktisch jeder Programmiersprache unterstützt.

Womit kann ich eine JSON-Datei öffnen?

Mit jedem Texteditor wie dem Windows-Editor oder VS Code. Code-Editoren zeigen zusätzlich Syntax-Hervorhebung und melden Fehler. Zum Lesbarmachen unformatierter JSON-Daten hilft ein Pretty-Print-Werkzeug.

Warum erlaubt JSON keine Kommentare?

Weil JSON als reines Datenaustauschformat gedacht ist, nicht als Konfigurationssprache für Menschen. Wer Kommentare braucht, nutzt JSONC, JSON5 oder ein Format wie INI beziehungsweise YAML.

Kann JSON deutsche Umlaute speichern?

Ja. JSON ist standardmäßig UTF-8 codiert. Umlaute wie ä, ö, ü und das ß werden direkt gespeichert. Manche Werkzeuge schreiben sie ersatzweise als Unicode-Escape wie ä, beides ist gültig.

Was ist der Unterschied zwischen JSON und INI?

JSON kennt echte Datentypen und kann beliebig tief verschachteln, erlaubt aber keine Kommentare. INI ist ein flaches Konfigurationsformat mit Sektionen, speichert alles als Text und erlaubt Kommentare. Beide lassen sich mit unserem Konverter ineinander umwandeln.

Weiterführende Artikel

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige