JSON und BSON sind Datenformate, die zur Speicherung und Übertragung
von Daten verwendet werden. Während JSON ein textbasiertes Format ist,
das für den Austausch von Daten zwischen Webanwendungen beliebt ist, ist
BSON eine binäre Erweiterung von JSON, die speziell für datenintensive
Anwendungen wie MongoDB optimiert wurde.
26.1 JSON (JavaScript Object
Notation)
26.1.1 Eigenschaften von JSON
Leichtgewichtig: Einfach und universell
verständlich.
Textbasiert: Kann in nahezu jeder
Programmiersprache verwendet werden.
Struktur: Besteht aus Schlüssel-Wert-Paaren und
Arrays.
26.1.2 Syntax
26.1.2.1 Objekte
Ein JSON-Objekt ist eine Sammlung von Schlüssel-Wert-Paaren,
eingeschlossen in geschweifte Klammern { }.
Beispiel:
{"name":"Alice","age":30,"isStudent":false}
26.1.2.2 Arrays
Ein JSON-Array ist eine geordnete Liste von Werten, eingeschlossen in
eckige Klammern [ ].
Beispiel:
["apple","banana","cherry"]
26.1.2.3 Datentypen in JSON
String: Zeichenketten in doppelten
Anführungszeichen, z. B. "text".
Number: Ganzzahlen oder Dezimalzahlen, z. B.
42, 3.14.
Boolean:true oder
false.
Array: Liste von Werten, z. B.
[1, 2, 3].
Object: Sammlung von Schlüssel-Wert-Paaren, z. B.
{ "key": "value" }.
null: Ein spezieller Wert, der “keinen Wert”
darstellt.
26.2 BSON (Binary JSON)
26.2.1 Eigenschaften von BSON
Binär: Effiziente Speicherung und Übertragung.
Erweiterbar: Unterstützt zusätzliche Datentypen im
Vergleich zu JSON.
Optimiert für MongoDB: Die native
Datenrepräsentation für MongoDB-Dokumente.
26.2.2 Warum BSON?
Effizienz: Binäre Kodierung ermöglicht schnellere
Serialisierung und Deserialisierung.
Zusätzliche Datentypen: BSON unterstützt Datentypen
wie Date, ObjectId und
BinData.
Optimierung für große Dokumente: BSON wurde für
datenintensive Anwendungen entwickelt.
26.2.3 BSON-spezifische
Datentypen
BSON erweitert JSON um zusätzliche Datentypen, die besonders in
datenbankbezogenen Anwendungen nützlich sind:
ObjectId: Ein 12-Byte langer eindeutiger
Identifier, der oft als Primärschlüssel in MongoDB verwendet wird.
Date: Ein Zeitstempel, der Datum und Uhrzeit
repräsentiert.
BinData: Binäre Daten, z. B. für Dateien oder
Medien.
Regex: Reguläre Ausdrücke für Suchoperationen.
Decimal128: Präzise Dezimalzahlen für Finanz- oder
wissenschaftliche Anwendungen.
JSON ist ideal für die Kommunikation zwischen
Webanwendungen und Servern aufgrund seiner Einfachheit und
Lesbarkeit.
BSON ist besser für die Speicherung und
Verarbeitung in datenintensiven Anwendungen geeignet, insbesondere in
MongoDB, da es erweiterte Datentypen und effizientere Verarbeitung
bietet.
Die Wahl zwischen JSON und BSON hängt von der Anwendung ab. JSON ist
für den Austausch von Daten zwischen Systemen universell und weit
verbreitet, während BSON speziell auf Performance und Flexibilität in
datenbankorientierten Anwendungen zugeschnitten ist.