JSON ist ein text­ba­sier­tes Da­ten­for­mat, das aufgrund seiner einfachen Struktur häufig genutzt wird, um Daten zwischen ver­schie­de­nen Systemen zu über­tra­gen. Es kodiert In­for­ma­tio­nen als Schlüssel-Wert-Paare, die nahezu jede Pro­gram­mier­spra­che ver­ar­bei­ten kann. Großer Be­liebt­heit erfreut sich das Format aber nicht nur wegen seiner hohen Les­bar­keit, sondern auch aufgrund der breiten Kom­pa­ti­bi­li­tät und der einfachen Im­ple­men­tie­rung.

Was ist JSON?

JSON stellt ein platt­form­un­ab­hän­gi­ges Da­ten­for­mat dar, das bei der Über­tra­gung und Spei­che­rung von struk­tu­rier­ten Daten zum Einsatz kommt. Das Format hat seinen Ursprung in Ja­va­Script, ist aber komplett ei­gen­stän­dig – also nicht an Ja­va­Script gebunden. Es wird von nahezu allen Pro­gram­mier­spra­chen un­ter­stützt. JSON ist ein reines Text­for­mat, das für Menschen einfach zu lesen und zu schreiben und für Maschinen effizient zu ana­ly­sie­ren (parsen) ist.

In vielen Fällen be­vor­zu­gen Ent­wick­le­rin­nen und Ent­wick­ler das JSON-Format vor allem deshalb, weil es den tech­no­lo­gie­über­grei­fen­den Da­ten­aus­tausch er­leich­tert. Wenn eine Nutzerin oder ein Nutzer z. B. in einem On­line­shop ein Klei­dungs­stück kauft, werden Eingaben im JSON-Format an den Server über­tra­gen. Dieser ver­ar­bei­tet die Daten und sendet die Antwort ebenso im JSON-Format, was einen nahtlosen Da­ten­aus­tausch ge­währ­leis­tet.

Managed Database Services
Da­ten­ban­ken – Auf´s We­sent­li­che kon­zen­trie­ren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maß­ge­schnei­der­te Datenbank-Lösungen ganz auf Ihre Be­dürf­nis­se
  • Re­chen­zen­tren in Deutsch­land: Ihre Daten sind sicher

Die zentrale Ei­gen­schaft von JSON ist seine Klarheit: Das Da­ten­for­mat greift auf eine re­du­zier­te und kon­sis­ten­te Notation zurück, um In­for­ma­tio­nen in einer präzisen, aber dennoch ver­ständ­li­chen Form dar­zu­stel­len. Es setzt zudem auf Unicode, sodass sich in­ter­na­tio­na­le Zeichen und Son­der­zei­chen pro­blem­los handhaben lassen. Damit liefert JSON eine schlanke und un­ab­hän­gi­ge Lösung für die moderne Web- und API-Kom­mu­ni­ka­ti­on.

Hinweis

Im Digital Guide finden Sie außerdem ein JSON-LD-Tutorial nach Schema.org sowie einen Artikel über das JSON Web Token vor­ge­stellt.

Wie funk­tio­niert JSON?

Ein JSON-Dokument muss einer festen Syntax folgen: Es beginnt stets mit einer öffnenden ge­schweif­ten Klammer { und endet immer mit einer schlie­ßen­den ge­schweif­ten Klammer }. Innerhalb der ge­schweif­ten Klammern werden einzelne Da­ten­fel­der durch Name-Wert-Paare definiert. Diese beginnen mit dem Namen, auf den ein Dop­pel­punkt : und der Wert folgen. JSON un­ter­stützt ver­schie­de­ne Da­ten­ty­pen mit jeweils eigenen At­tri­bu­ten und Ver­hal­tens­wei­sen, um Variablen zu speichern. Dazu zählen:

  • Objekte: Ein JSON-Ob­jekt­da­ten­typ setzt sich aus Namens- be­zie­hungs­wei­se Wer­te­paa­ren zusammen, die zwischen den ge­schweif­ten Klammern stehen. Bei den Schlüs­seln muss es sich um Zei­chen­fol­gen handeln, die eindeutig und durch ein Komma von­ein­an­der getrennt sind.
  • Arrays: Ein Array-Datentyp stellt eine geordnete Sammlung von Werten dar. Diese müssen entweder vom Typ Object, Array, String, Number, Boolean oder Null sein.
  • Strings: In JSON kommen Strings oftmals zum Speichern und Über­tra­gen text­ba­sier­ter Daten wie Namen oder Adressen zum Einsatz. Die Zei­chen­ket­ten werden in doppelte An­füh­rungs­zei­chen "" gesetzt und erlauben die komplette Band­brei­te an Unicode-Zeichen.
  • Boolean: Boolesche Werte können entweder wahr oder falsch sein. Sie werden zwar als Strings behandelt, aber anders als diese nicht in An­füh­rungs­zei­chen gesetzt.
  • Number: Dieser Datentyp wird verwendet, um nu­me­ri­sche Werte für un­ter­schied­li­che Zwecke zu speichern – etwa für Da­ten­ana­ly­sen oder Be­rech­nun­gen. Neben positiven und negativen Zahlen un­ter­stützt JSON auch De­zi­mal­stel­len.
  • Null: Wenn eine Variable leer ist, lässt sich dies durch die Zuweisung mit Null aus­drü­cken.

Das nach­fol­gen­de Beispiel il­lus­triert die Struktur eines JSON-Da­ten­sat­zes:

{
    "dataField1": "Value",
    "dataObject": {
        "field1": 123,
        "field2": "Text",
        "field3Array": ["Value1", "Value2", "Value3", "Value4"]
    }
}
json

Welche Vorteile bietet JSON?

Das Da­ten­for­mat punktet in vielen Bereichen durch seine Ein­fach­heit und Effizienz, was es zum be­vor­zug­ten Format vieler moderner An­wen­dun­gen macht. Die nach­fol­gen­de Übersicht führt die wich­tigs­ten Vorteile von JSON auf:

  • Leicht­ge­wich­tig und platz­spa­rend: JSON ver­zich­tet auf unnötige Markup-Elemente und verwendet nur wenige Struk­tur­zei­chen, was den Spei­cher­be­darf und das Über­tra­gungs­vo­lu­men reduziert.
  • Einfache Les­bar­keit: Die klare Syntax von JSON lässt sich auch ohne spe­zi­el­les Fach­wis­sen er­schlie­ßen. Zudem bleiben selbst größere Da­ten­sät­ze über­sicht­lich, wodurch sich das Debugging ver­ein­facht.
  • Breite Un­ter­stüt­zung: Ob Ja­va­Script, Python, Java, PHP oder C# – JSON wird von nahezu allen Pro­gram­mier­spra­chen und Frame­works nativ un­ter­stützt oder über Stan­dard­bi­blio­the­ken be­reit­ge­stellt. Viele NoSQL-Da­ten­ban­ken – etwa MongoDB oder CouchDB – speichern Dokumente direkt im JSON-Format oder einem JSON-ähnlichen Da­ten­for­mat, was den Kon­ver­tie­rungs­auf­wand senkt.
  • Flexible Da­ten­mo­del­lie­rung: Durch den Support ver­schach­tel­ter Struk­tu­ren lassen sich komplexe und hier­ar­chi­sche Da­ten­mo­del­le ohne Probleme abbilden.

Für welche An­wen­dungs­ge­bie­te ist JSON geeignet?

Aufgrund seiner viel­sei­ti­gen Vorzüge wird das JSON-Da­ten­for­mat in so gut wie jedem Bereich der Soft­ware­ent­wick­lung verwendet. Als klas­si­sche Ein­satz­ge­bie­te gelten:

  • Sys­tem­über­grei­fen­de Da­ten­über­tra­gun­gen: JSON erweist sich als optimal, um Daten zwischen un­ter­schied­li­chen Systemen und Pro­gram­mier­spra­chen aus­zu­tau­schen.
  • Er­stel­lung dy­na­mi­scher JSON-Daten aus Eingaben von Userinnen und Usern: JSON eignet sich her­vor­ra­gend, um temporäre, be­nut­zer­ge­ne­rier­te In­for­ma­tio­nen struk­tu­riert abzulegen. Es besteht zum Beispiel die Mög­lich­keit, Webseiten-For­mu­lar­fel­der direkt in ein JSON-Objekt zu über­füh­ren und zu se­ria­li­sie­ren.
  • Kon­fi­gu­ra­ti­on von Daten für An­wen­dun­gen: Jede Anwendung benötigt passende Log­in­da­ten, um sich mit einer Datenbank zu verbinden. An­mel­de­da­ten und der Pfad der Pro­to­koll­da­tei lassen sich in einer JSON-Datei angeben, die alle be­tei­lig­ten Parteien verwenden können.
  • Ver­ein­fa­chung komplexer Da­ten­struk­tu­ren: JSON reduziert komplexe Dokumente auf we­sent­li­che Elemente und überführt sie in gut lesbare Struk­tu­ren. Dies erhöht die Trans­pa­renz von Da­ten­mo­del­len und sorgt dafür, dass der Zugriff auf relevante In­for­ma­tio­nen vor­her­seh­bar wird.
  • Kon­fi­gu­ra­ti­ons­da­tei­en: JSON-Dokumente lassen sich un­kom­pli­ziert abfragen und be­ar­bei­ten, weshalb das Format häufig für Kon­fi­gu­ra­ti­ons­da­tei­en verwendet wird – vor allem in Ja­va­Script-Öko­sys­te­men wie Node.js.

Al­ter­na­ti­ven zu JSON

Obwohl das JSON-Format für viele An­wen­dungs­fäl­le als Standard gilt, exis­tie­ren zahl­rei­che weitere Da­ten­for­ma­te, die in spe­zi­fi­schen Szenarien mög­li­cher­wei­se sogar besser geeignet sind. Zu den be­kann­tes­ten Al­ter­na­tiv­op­tio­nen zählen:

  • XML (Ex­ten­si­ble Markup Language): Vor dem Siegeszug von JSON war XML das am häu­figs­ten ver­brei­te­te Da­ten­se­ria­li­sie­rungs­for­mat. Das stark ty­pi­sier­te und flexible Text­for­mat ist dazu in der Lage, komplexe Da­ten­struk­tu­ren und Metadaten zu speichern. Das Format verfügt zudem über Sche­ma­de­fini­tio­nen (XSD) und Trans­for­ma­tio­nen (XSLT), lässt sich aber schwie­ri­ger lesen als JSON.
  • YAML (YAML Ain’t Markup Language): Dieses ma­schi­nen­les­ba­re Format wird vor allem für Kon­fi­gu­ra­ti­ons­da­tei­en verwendet und stellt eine Er­wei­te­rung von JSON dar, die Kom­men­ta­re un­ter­stützt. Das YAML-Format bietet eine über­sicht­li­che Syntax, ist jedoch komplexer zu ver­ar­bei­ten und außerdem an­fäl­li­ger für Syn­tax­feh­ler.
  • Protobuf (Protocol Buffers): Hierbei handelt es sich um ein binäres Da­ten­for­mat von Google, das sich durch seine Kom­pakt­heit und hohe Effizienz aus­zeich­net. Für Protobuf besteht jedoch die Not­wen­dig­keit, Schemata zu de­fi­nie­ren. Außerdem ist das Format nicht von Menschen lesbar, was das Debugging unter Umständen erschwert.
Zum Hauptmenü