Datenformate: XML, JSON, CSV

Datenformate: XML, JSON, CSV#

Strukturierte Datenformate dienen dem Austausch und der Speicherung von Daten zwischen Anwendungen, Systemen und Schnittstellen (APIs).


CSV – Comma-Separated Values#

Das einfachste der drei Formate. Daten werden als Tabelle in Textform gespeichert – Felder durch Trennzeichen getrennt.

Aufbau#

Vorname,Nachname,Alter,Stadt
Max,Mustermann,25,Berlin
Anna,Schmidt,32,München
Tom,Meier,19,Hamburg
  • Erste Zeile: oft die Spaltenüberschriften (Header)
  • Trennzeichen: Komma , (standard), Semikolon ; (Deutschland, da Komma Dezimalzeichen), Tab \t
  • Zeilenende: Neue Zeile = neuer Datensatz
  • Anführungszeichen: Felder mit Komma oder Zeilenumbruch werden in "..." eingeschlossen

Eigenschaften#

VorteileNachteile
Sehr einfach & kompaktKeine Hierarchien möglich
Von allen Tabellenkalkulationen lesbarKein Standard für Sonderzeichen/Encoding
Menschlich lesbarKeine Datentypen (alles Text)
Ideal für tabellarische DatenTrennzeichen im Dateninhalt problematisch

Typische Einsatzbereiche: Datenbankexporte, Tabellenkalkulationen, einfache Datenübertragung, Log-Dateien.

API-Authentifizierung

API-Authentifizierung#

Da APIs oft über das öffentliche Internet erreichbar sind und Zugriff auf sensible Daten oder Funktionen erlauben, muss jede Anfrage eindeutig einem berechtigten Aufrufer zugeordnet werden können. Die Authentifizierung stellt fest, wer eine Anfrage stellt, die anschließende Autorisierung entscheidet, was dieser Aufrufer tun darf.

Warum APIs Authentifizierung brauchen#

Ohne Authentifizierungsmechanismus könnte jeder, der die URI einer API kennt, beliebige Daten abrufen, verändern oder löschen. Typische Ziele einer API-Authentifizierung:

REST-API-Grundlagen

REST-API-Grundlagen#

Eine API (Application Programming Interface) ist eine Programmierschnittstelle, über die Anwendungen miteinander Daten austauschen und Funktionen aufrufen können, ohne die interne Implementierung des jeweils anderen Systems zu kennen. REST (Representational State Transfer) ist der heute meistgenutzte Architekturstil, um solche Schnittstellen über HTTP bereitzustellen — er bildet die Grundlage für den Großteil moderner Web- und Cloud-Anwendungen.