Was ist JSON?

  • Beitrags-Autor:
  • Beitrags-Kategorie:Java

JSON ist ein einfaches Format, um Daten strukturiert darzustellen. JSON steht dabei für JavaScript Object Notation.

Auch wenn im Namen JavaScript steckt, wird JSON längst nicht nur mit JavaScript verwendet. JSON ist heute in vielen Sprachen und Systemen Standard, auch in Java.

Vereinfacht gesagt:

JSON ist ein Textformat, mit dem Daten klar und strukturiert ausgetauscht werden können.

Warum ist JSON wichtig?

JSON begegnet dir in moderner Software fast überall.

Zum Beispiel bei:

  • REST APIs
  • Webanwendungen
  • mobilen Apps
  • Konfigurationsdateien
  • Datenaustausch zwischen Frontend und Backend
  • Cloud-Diensten

Wenn eine API Daten zurückliefert, ist das sehr oft JSON. Darum ist JSON für Anfänger ein wichtiges Grundthema.

Wie sieht JSON aus?

Hier ein einfaches Beispiel:

{
  "id": 5,
  "name": "Andi",
  "beruf": "Entwickler",
  "aktiv": true
}

Dieses JSON beschreibt Daten zu einer Person.

Es gibt hier sogenannte Schlüssel-Wert-Paare:

  • id -> 5
  • name -> Andi
  • beruf -> Entwickler
  • aktiv -> true

Was ist ein JSON-Objekt?

Ein JSON-Objekt erkennst du an geschweiften Klammern:

{
  "name": "Max",
  "alter": 28
}

Ein Objekt enthält Eigenschaften mit Namen und Werten.

Was ist ein JSON-Array?

Ein JSON-Array erkennst du an eckigen Klammern:

[
  "Java",
  "REST",
  "JSON"
]

Ein Array enthält mehrere Werte in einer Liste.

Diese Werte können sein:

  • Strings
  • Zahlen
  • Booleans
  • weitere Objekte
  • weitere Arrays

JSON-Objekt mit Array

In der Praxis wird JSON oft kombiniert. Zum Beispiel so:

{
  "id": 7,
  "name": "Notebook",
  "tags": ["technik", "arbeit", "java"],
  "lagernd": true
}

Hier siehst du:

  • normale Werte
  • ein Array innerhalb eines Objekts

Welche Datentypen gibt es in JSON?

JSON kennt ein paar grundlegende Datentypen:

  • String
  • Zahl
  • Boolean
  • Objekt
  • Array
  • null

Beispiele:

{
  "text": "Hallo",
  "zahl": 42,
  "aktiv": true,
  "details": {
    "stadt": "Regensburg"
  },
  "rollen": ["admin", "user"],
  "notiz": null
}

Warum wird JSON so oft für APIs verwendet?

JSON ist beliebt, weil es mehrere Vorteile hat:

  • einfach zu lesen
  • leicht zu übertragen
  • kompakt
  • in vielen Programmiersprachen gut verarbeitbar
  • gut für strukturierte Daten geeignet

Darum sieht man bei APIs sehr häufig diese Kombination:

  • API
  • REST
  • JSON

Wenn dir die Begriffe noch nicht ganz klar sind, passen dazu die Artikel Was ist eine API? und Was ist REST?.

JSON im Alltag eines Entwicklers

Hier ein paar typische Situationen, in denen JSON vorkommt:

  • ein Frontend lädt Benutzerdaten aus einem Backend
  • eine App sendet Login-Daten an einen Server
  • ein Java-Programm ruft eine externe API auf
  • eine Konfiguration wird in JSON gespeichert
  • ein externer Dienst liefert eine strukturierte Antwort zurück

JSON und Java, wie passt das zusammen?

JSON ist erst einmal nur Text.

Ein Java-Programm kann diesen Text aber lesen, verarbeiten und in Objekte umwandeln.

Zum Beispiel könnte eine API diese JSON-Antwort liefern:

{
  "title": "Java lernen",
  "level": "Anfänger"
}

In Java kannst du diese Daten später zum Beispiel in eine Klasse überführen. Das passiert oft mit Bibliotheken wie Jackson oder Gson.

Ein kleines Java-Beispiel mit JSON als Text

Hier ein ganz simples Beispiel:

public class JsonExample {

    public static void main(String[] args) {
        String json = "{\"name\":\"Andi\",\"rolle\":\"Entwickler\"}";

        System.out.println(json);
    }
}

Das Beispiel verarbeitet JSON noch nicht inhaltlich, zeigt aber, dass JSON am Ende zunächst eine Zeichenkette sein kann, die zwischen Systemen ausgetauscht wird.

JSON als API-Antwort

Wenn du eine API aufrufst, bekommst du oft genau so eine Antwort zurück.

Ein Beispiel aus einer REST API:

{
  "userId": 1,
  "id": 1,
  "title": "Beispiel",
  "body": "Das ist ein Beispieltext"
}

Die API liefert also strukturierte Daten zurück, mit denen dein Programm weiterarbeiten kann.

JSON ist kein Java-Objekt

Das ist ein wichtiger Punkt.

JSON sieht manchmal ähnlich aus wie ein Objekt, ist aber nicht dasselbe wie ein Java-Objekt.

JSON ist zunächst nur ein Datenformat. Ein Java-Objekt ist ein Objekt im laufenden Programm.

Zwischen beiden gibt es oft eine Umwandlung:

  • JSON zu Java-Objekt
  • Java-Objekt zu JSON

Typische Fehler bei JSON

Kommafehler

Ein zusätzliches oder fehlendes Komma macht JSON ungültig.

Falsche Anführungszeichen

Schlüssel und Strings werden in JSON mit doppelten Anführungszeichen geschrieben.

JSON mit Java verwechseln

JSON ist keine Java-Klasse und keine Map, auch wenn es ähnlich wirken kann.

Arrays und Objekte durcheinanderbringen

Objekte nutzen { }, Arrays nutzen [ ].

Warum ist JSON für Anfänger so wichtig?

Weil JSON an vielen anderen Themen hängt:

  • APIs
  • REST
  • Spring Boot
  • Frontend-Backend-Kommunikation
  • externe Services
  • Konfigurationsdateien

Wenn du JSON verstehst, verstehst du viele Responses und Requests deutlich besser.

JSON, REST und OData

Ganz grob:

  • APIs transportieren oft Daten
  • REST APIs nutzen oft JSON
  • OData kann ebenfalls JSON nutzen, bringt aber zusätzliche Regeln und Standards mit

Darum ist JSON ein sehr gutes Grundthema, bevor man tiefer in REST, Spring Boot oder OData einsteigt.

Fazit

JSON ist ein leicht lesbares Format für strukturierte Daten.

Es wird sehr oft genutzt, um Daten zwischen Systemen auszutauschen, vor allem bei APIs und REST APIs.

Für Anfänger sind diese Punkte am wichtigsten:

  • JSON ist Text mit Struktur
  • Objekte nutzen { }
  • Arrays nutzen [ ]
  • APIs liefern sehr oft JSON zurück

Wenn du das verstanden hast, bist du für viele moderne Entwicklungsthemen deutlich besser vorbereitet.

Nächster Schritt

Nach diesem Artikel passen diese Themen gut: