Was ist JSON?
JSON (JavaScript Object Notation) ist ein leichtgewichtiges, textbasiertes Datenformat, das für den plattformübergreifenden Austausch strukturierter Daten genutzt wird. Auch wenn JSON kein standardisierter offizieller Standard ist, musst Du diese sehr weit verbreitete Notation für strukturierte Daten kennen.
JSON ist keine Programmiersprache, sondern eine textbasierte Syntax zur Darstellung strukturierter Daten.
Du kannst mit einer JSON-Datei Datenstrukturen definieren und die JSON-Dateien damit zugleich als Format für einen technologieübergreifenden Datenaustausch nutzen.
Bei all dem beruht die JSON-Technologie auf den Konzepten etablierter Programmier-Sprachen.
Wozu brauche ich JSON?
JSON wird genutzt, um Daten zwischen verschiedenen Anwendungen, Plattformen oder Geräten auszutauschen. Es ist ein zentrales Werkzeug in der modernen Webentwicklung, insbesondere bei der Kommunikation zwischen Frontend und Backend. Beispiele hierfür sind:
- APIs: JSON ist das Standardformat für die meisten RESTful APIs.
- Datenbanken: Viele NoSQL-Datenbanken, wie MongoDB, speichern Daten direkt in JSON-ähnlichen Formaten.
- Konfigurationsdateien: Der etablierte Standard wird oft für App- und Softwarekonfigurationen verwendet.
- Datenintegration: Das JSON-Datenformat erleichtert den Austausch von Informationen zwischen verschiedenen Programmiersprachen und Systemen.
Welche Vorteile bietet JSON zum Austausch für Daten?
JSON bietet zahlreicheVorteile zum Datenaustausch. Dazu wurden von Douglas Crockford – dem Erfinder des JSON-Formats – folgende Design-Entscheidungen bei der Spezifikation der JSON-Notation getroffen:
- Einfach lesbar und schreibbar: Sowohl für Menschen als auch für Maschinen.
- Kompakt: Das textbasierte Format ist minimalistisch und reduziert Datenoverhead.
- Universell: JSON wird von nahezu allen modernen Programmiersprachen und Frameworks unterstützt.
- Flexibel: JSON erlaubt die Verschachtelung von Datenstrukturen, wodurch komplexe Datensätze dargestellt werden können.
- Effizient: Die JSON-Notation ist für Maschinen einfach zu parsen. Parsing und Serialisierung von JSON-Daten sind schnell und ressourcenschonend.
- die JavaScript Object Notation unterstützt die Interoperabilität von (Web)-Technologien und unterschiedlichsten Komponenten
- die Notation eignet sich ideal zum Analysieren von Datenstrukturen
- JSON-Formate sind besonders einfach zu generieren
- das Design Pattern basiert auf der Programmiersprache JavaScript
- und unterstützt den Standard ECMA-262
Leerzeichen / Whitespace
Leerzeichen können zwischen JSON-Elementen beliebig eingefügt werden.
Abgesehen von wenigen Enkodierungsdetails beschreibt diese Definition bereits die grundlegende Syntax von JSON.
💡 JSON in nur 5 Minuten verstehen!
JSON ist das wichtigste Datenformat für Webentwicklung, APIs und moderne Datenbanken. In diesem Video bekommst du eine kompakte Einführung in JSON-Syntax, Objekte, Arrays und Best Practices.
Schau dir unser JSON-Tutorial bis zum Ende an, um ein praxisnahes JSON-Beispiel in Aktion zu sehen!
📌 JSON vs. XML – Was ist der Unterschied?
JSON hat XML als bevorzugtes Datenformat für viele Webanwendungen abgelöst. Doch warum?
Merkmal | JSON | XML |
---|---|---|
Lesbarkeit | Einfach für Menschen & Maschinen | Komplexer, mehr Overhead |
Syntax | Schlüssel-Wert-Paare | Tags & Attribute |
Struktur | Arrays, Objekte | Baumstruktur |
Parsing | Sehr schnell | Langsamer durch aufwendige Verarbeitung |
Typisierung | Keine direkte Unterstützung | Unterstützt Datentypen |
Fazit: Das JSON-Format ist für moderne Webentwicklung deutlich effizienter, während XML in bestimmten Legacy-Systemen weiterhin genutzt wird.
Welche JSON-Eigenschaften ermöglichen diese Vorteile?
Bei JSON handelt es sich um ein Textformat. Als textbasiertes Datenformat ist es komplett unabhängig von Programmiersprachen.
Warum ist JSON so einfach zu nutzen?
JSON basiert auf etablierten Konventionen aus weit verbreiteten Programmiersprachen wie JavaScript, Python, Java und C++. Das bedeutet: Wenn du bereits mit einer dieser Sprachen gearbeitet hast, kannst du JSON intuitiv verstehen und direkt einsetzen.
Durch seine einfache, aber leistungsfähige Struktur ermöglicht JSON:
✅ Schnelles Verstehen & leichte Lesbarkeit: Selbst ohne Programmierkenntnisse ist JSON intuitiv nachvollziehbar.
✅ Nahtlose Integration: JSON kann problemlos in verschiedene Programmiersprachen und Systeme eingebunden werden.
✅ Effiziente Datenverarbeitung: JSON ist kompakt, reduziert Overhead und kann von modernen Anwendungen besonders schnell verarbeitet werden.
Diese Vorteile machen JSON zum bevorzugten Standard für den Datenaustausch in modernen Web-, API- und Datenbank-Anwendungen. Zugleich ist bereits eine große Anzahl von Softwareentwickler*innen bereits direkt mit den JSON-Konzepten vertraut.
All diese Eigenschaften zusammen machen JSON zum idealen Format für Datenaustausch.
JSON – JavaScript Object Notation
Wie funktioniert JSON zum Datentausch?
JSON-Formate basieren auf zwei Datenstrukturen:
1. Name und Werte-Paare
In verschiedenen Programmiersprachen wird eine Kombination aus einem Namen mit einem Werte-Paar als
- ein Objekt (object),
- Satz (record),
- Struktur (struct),
- Wörterbuch bzw. Verzeichnis (dictionary),
- Hash-Tabelle (hash table),
- Schlüssel-Liste (keyed list) oder als
- ein assoziatives Array (associative array)
realisiert.
2. Geordnete Liste von Werten
In den meisten Sprachen werden geordnete Liste von Werten als
- Array (array),
- Vektor (vector),
- Liste (list) oder
- Sequenz (sequence)
implementiert.
JSON verwendet zwei grundlegende Datenstrukturen:
- Name/Wert-Paare – z. B.
{"name": "Sandra", "age": 30}
- Geordnete Listen von Werten – z. B.
[10, 20, 30, 40]
Diese Strukturen ermöglichen es, Daten hierarchisch und modular darzustellen.
📌 JSON in modernen NoSQL-Datenbanken
JSON-Formate spielen eine zentrale Rolle in NoSQL-Datenbanken wie MongoDB und CouchDB. Diese Datenbanken speichern Dokumente in JSON-ähnlicher Form und ermöglichen so flexible, schemafreie Datenstrukturen.
📌 JSON-Schema – Validierung und Strukturierung von JSON-Daten
JSON-Schema ist eine mächtige Erweiterung von JSON, die ermöglicht:
✅ Die Struktur von JSON-Daten zu definieren
✅ Pflichtfelder & Datentypen zu erzwingen
✅ Datenvalidierung für APIs und Datenbanken
Beispiel für ein JSON Schema:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer", "minimum": 0 }, "email": { "type": "string", "format": "email" } }, "required": ["name", "email"] }
Universelle JSON-Datenstrukturen unterstützen die Interoperabilität
Beides sind universelle JSON-Datenstrukturen, die somit von nahezu allen modernen Programmiersprachen unterstützt werden.
Austauschbare Daten-Formate zwischen Programmiersprachen & Web-Technologien
Mit JSON-Strukturen ist es uns Programmierer*innen möglich ein zwischen Programmiersprachen austauschbares Datenformat zu nutzen, das auch auf diesen vertrauten Strukturen aufbaut.
JSON-Objekte
Ein JSON-Objekt ist eine ungeordnete Menge von Name/Wert Paaren.
- Jedes Objekt beginnt mit
{
geschwungene Klammer auf und endet mit}
geschwungene Klammer zu. - Jedem Namen folgt ein
:
Doppelpunkt gefolgt vom Wert und - die einzelnen Name/Wert Paare werden durch
,
Komma voneinander getrennt.
JSON-Array
Ein Array ist eine geordnete Liste von Werten.
- Arrays beginnen mit
[
eckige Klammer auf und enden mit]
eckige Klammer zu. - Werte werden durch
,
Komma voneinander getrennt.
JSON-Werte
Ein Wert kann ein Objekt, ein Array, eine Zeichenkette (string), eine Zahl oder einer der Ausdrücke true
, false
oder null
sein.
Diese Strukturen können ineinander verschachtelt sein.
JSON-String
Ein String ist eine Zeichenkette und besteht aus keinem (leere Zeichenkette) oder mehr Unicode Zeichen.
- Jeder String wird von doppelten Anführungszeichen umschlossen.
- Eine Zeichenkette kann Escape-Sequenzen mit einer besonderen Bedeutung enthalten.
- Ein einzelnes Zeichen wird durch eine Zeichenkette bestehend aus nur einem einzigen Zeichen dargestellt.
- Eine JSON-Zeichenkette ist der in C oder Java sehr ähnlich.
JSON-Zahl
Eine Zahl im JSON-Format ist einer Zahl in C oder Java sehr ähnlich mit der Ausnahme, dass oktale und hexadezimale Zahlen nicht verwendet werden.
JSON in der Praxis
JSON-Anwendungen die Du kennen solltest:
- Web-APIs: Hier ermöglicht es Dir die nahtlose Kommunikation zwischen Server und Client.
- Datenbanken: In NoSQL-Datenbanken wie MongoDB werden JSON-Dokumente als native Datenstrukturen gespeichert.
- Datenvisualisierung: JSON-Dateien werden häufig als Input für Tools wie D3.js verwendet.
JSON und APIs
Das JSON-Format ist der in der Praxis etablierte Standard für die meisten REST-APIs, da es leicht zu serialisieren und zu parsen ist.
Beispiel:
Beispiel 1: Verschachteltes JSON-Objekt mit Arrays
{ "name": "Sandra", "age": 30, "address": { "street": "Berliner Straße 12", "city": "Berlin", "zip": "10115" }, "skills": [ { "name": "JavaScript", "proficiency": "Expert" }, { "name": "Python", "proficiency": "Advanced" }, { "name": "Java", "proficiency": "Intermediate" } ], "isAvailableForHire": true }
Beispiel 2: JSON-Array mit Objekten
[ { "fruit": "apple", "color": "red", "available": true }, { "fruit": "banana", "color": "yellow", "available": false }, { "fruit": "cherry", "color": "dark red", "available": true } ]
Rock the Prototype Podcast
Der Rock the Prototype Podcast und der Rock the Prototype YouTube-Kanal sind die perfekte Anlaufstelle für alle, die tiefer in die Welt der Softwareentwicklung, des Prototypings und IT-Technologie eintauchen wollen.
🎧 Listen on Spotify: 👉 Spotify Podcast: spoti.fi/3NJwdLJ
🍎 Enjoy on Apple Podcasts: 👉 Apple Podcasts: apple.co/3CpdfTs
Im Podcast erwarten dich spannende Diskussionen und wertvolle Insights zu aktuellen Trends, Tools und Best Practices – ideal, um unterwegs am Ball zu bleiben und frische Perspektiven für eigene Projekte zu gewinnen. Auf dem YouTube-Kanal findest du praxisnahe Tutorials und Schritt-für-Schritt-Anleitungen, die technische Konzepte anschaulich erklären und dir helfen, direkt in die Umsetzung zu gehen.
Rock the Prototype YouTube Channel
🚀 Rock the Prototype ist 👉 Dein Format rund um spannende Themen wie Softwareentwicklung, Prototyping, Softwarearchitektur, Cloud, DevOps & vieles mehr.
📺 👋 Rock the Prototype YouTube Channel 👈 👀
✅ Softwareentwicklung & Prototyping
✅ Programmieren lernen
✅ Software Architektur verstehen
✅ Agile Teamwork
✅ Prototypen gemeinsam erproben
THINK PROTOTYPING – PROTOTYPE DESIGN – PROGRAMMIEREN & DURCHSTARTEN – JETZT MITMACHEN!
Warum es sich lohnt, regelmäßig vorbeizuschauen?
Beide Formate ergänzen sich perfekt: Im Podcast kannst du ganz entspannt Neues lernen und inspirierende Denkanstöße bekommen, während du auf YouTube das Gelernte direkt in Aktion siehst und wertvolle Tipps zur praktischen Anwendung erhältst.
Egal, ob du gerade erst mit der Softwareentwicklung anfängst, Dich für Prototyping, UX Design oder IT Security begeisterst. Wir bieten Dir neue Technologie Trends die wirklich relevant sind – und mit dem Rock the Prototype Format findest du immer relevante Inhalte, um dein Wissen zu erweitern und deine Skills auf das nächste Level zu heben!