Dein letzter Login ist schon eine Weile her.

Bitte überprüfe, ob alle Angaben in Deinem Profil noch aktuell sind.


05.07.2016
von Jan-Dirk
in IT-Talents

Wer ist dieser JSON?

x
Für Unternehmen:
IT-Nachwuchs kennenlernen!
Jetzt starten

JavaScript Object Notation (JSON) mit Beispielen und Verwendung

Ist JSON [ˈdʒeɪsən] ein bekannter Informatiker, der ein kompaktes Datenformat entwickelt hat, das gut lesbar ist und einen einfachen und schnellen Datenaustausch zwischen Anwendungen ermöglicht?
Halt! Das ist natürlich nur die halbe Wahrheit. JSON ist natürlich keine Person, sondern eine Notation. Eine Notation, die mittlerweile weit verbreitet und stetig erweitert worden ist.

Lesezeit: ca. 3 Min.

Bewerten

Themen auf dieser Seite:

JavaScript Object Notation schimpft sich diese Notation in vollem Umfang. Oder JavaScript Object Notation Remote Procedure Call ein darauf aufbauendes Protokoll.
Da klingt die Abkürzung JSON oder JSON-RPC schon wesentlich umgänglicher.
JSON Objekte werden für den Datenaustausch zwischen Anwendungen, für gewöhnlich zwischen einem Server und einem Clienten benutzt. Oft werden JSON und XML in einem Atemzug genannt. Das liegt daran, dass sie prinzipiell beide Lösungen für den Datenaustausch bieten. Trotzdem gibt es grundlegende Unterschiede zwischen JSON und XML - aber das werden wir gleich sehen.

Wieso weshalb warum, wer nicht fragt bleibt dumm

Wieso sollte man JSON nutzen? Die Vorteile lassen sich schnell auf den Punkt bringen:

  • IT-Talents.de ist Deine Plattform für Förderung und Weiterbildung während des IT-Studiums!
    Fördermöglichkeiten ansehen


    JSON ist verbreitet:

    Wenn auch in der JavaScript-Welt entstanden, gibt es heute in nahezu jeder verbreiteten Programmiersprache einen Parser für JSON Objekte.

  • Standardisierte Struktur:

    Ein JSON-Objekt hat eine feste Struktur, wie Daten repräsentiert werden. Dadurch ist es für Entwickler einfach, JSON Requests zu erstellen und auszuwerten - das Datenformat ist immer gleich und erwartbar. Hinzu kommt, dass JSON auch für Menschen leicht lesbar ist.

  • Auf IT-Talents.de kannst Du Dich mit dem Who-is-Who der IT-Branche vernetzen!
    Jetzt Top-Unternehmen anschauen


    Wenig Overhead:

    Ein JSON-Objekt kommt ohne umfangreiche Beschreibung und Strukturdaten aus, es ist immer nach dem Key-Value-Prinzip aufgebaut.

Ein JSON-Beispiel

Wie sieht JSON aus? Stellen wir uns vor, wir haben 6 IT-Talente in unserer Datenbank, die ein Stipendium bekommen haben. In der JSON-Syntax wird die Liste dieser IT-Talente wie folgt repräsentiert:

"IT-Talente": [
{"name":"Thomas", "alter":"25", "Stipendium":"2016/2017"},
{"name":"Katharina", "alter":"18", "Stipendium":"2016/2017"},
{"name":"Michael", "alter":"26", "Stipendium":"2016/2017"},
{"name":"Andrei", "alter":"35", "Stipendium":"2016/2017"},
{"name":"Bastian", "alter":"14", "Stipendium":"2016/2017"},
{"name":"Dirk", "alter":"22", "Stipendium":"2016/2017"}
]

Wie Du siehst, werden die IT-Talente durch (beliebig viele!) Key/Value Paare innerhalb geschweifter Klammern definiert. Die IT-Talente wiederum sind in Arrayform organisiert.
Man bezeichnet jedes einzelne IT-Talent als JSON-Objekt und das Array IT-Talente als Array von JSON-Objekten.

Es ist nun ein leichtes, dieses Array von JSON-Objekten zu realisieren:

var it-talente = [
{"name":"Bastian", "alter":"25", "Stipendium":"2016/2017"},
{"name":"Katharina", "alter":"18", "Stipendium":"2016/2017"},
{"name":"Michael", "alter":"26", "Stipendium":"2016/2017"},
{"name":"Thomas", "alter":"35", "Stipendium":"2016/2017"},
{"name":"Andrei", "alter":"14", "Stipendium":"2016/2017"},
{"name":"Dirk", "alter":"22", "Stipendium":"2016/2017"}
];

Natürlich ist auch die einfache Erstellung eines JSON-Objekts möglich:

var basti = {"name":"Basti", "alter":"25", "Stipendium":"2016/2017"};

Aber wie kommen wir nun an die Daten, die in einem JSON-Objekt oder einem Array von JSON-Objekten gespeichert sind?
Nichts einfacher als das, man greift einfach wie üblich auf die entsprechenden Datentypen zu.
Zum Beispiel:
JSON-Objekt:

document.writeln(basti.name);

Array von JSON Objekten:

document.writeln(it-talente[1].name);

Verwendung von JSON am Beispiel JavaScript

JSON-Objekte in JavaScript

JSON hat seinen Ursprung in JavaScript, nach und nach sind aber für nahezu jede gängige Programmiersprache Parser entstanden.
Das JSON-Datenformat kann mit Hilfe der eval()-Funktion in JavaScript ausgewertet werden. Hierbei ist jedoch Vorsicht geboten, da über JSON-Objekte prinzipiell auch Schadcode übertragen und durch die eval()-Funktion ausgeführt werden könnte.
JavaScript bietet aber einen zusätzlichen JSON-Parses, der diese Gefahren nicht birgt.
Ein Beispiel, wie wir unser Oben erstelltes JSON-Objekt in ein JavaScript-Objekt umwandeln:

var JavaScriptObjekt = JSON.parse(basti);
Wenn Du willst: IT-Talents.de ist Dein Headhunter! Unser Team macht sich für Dich auf die Suche nach dem passenden Arbeitgeber. Bequem und persönlich.
Jetzt JobScout anschauen


JavaScript-Objekte in JSON

Natürlich können wir auch andersherum JavaScript-Objekte, z.B. für die Datenübertragung in JSON-Objekte umwandeln:

var JSONObjekt = JSON.stringify(JavaScriptObjekt);

JSON vs. XML

Auf den ersten Blick stehen JSON und XML in Konkurrenz zueinander, es gibt aber durchaus Unterschiede, die die beiden Formate voneinander abgrenzen und so je nach Situation JSON oder XML sinnvoller für die Verwendung machen.
XML ("Extensible Markup Language") ist eine Markup Language mit deklarativem Charakter, JSON hingegen ist nur eine Syntax, wie Objekte, die bereits deklariert sind, dargestellt werden.
JSON eignet sich daher besonders, wenn Werte in fest definierten Strukturen übertragen werden sollen. Zum Beispiel immer neue IT-Talente, die zwar einen anderen Namen und ein anderes Alter haben, aber immer aus den Daten Name, Alter und Stipendium bestehen.
XML spielt dagegen eine größere Roller, wenn flexible Objekte übertragen werden sollen, die sich in der Struktur unterscheiden (Beispielsweise, wenn ein IT-Talent beliebig viele unterschiedliche Strukturen und Werte haben kann).

Aktuelle Aktionen:

IT Recruiting-Day Light

Master@BWI!

Starte durch und komm zum IT Recruiting-Day Light ins Phantasialand!
Bewirb Dich bis 06. September bequem online und nutze Deine Chance!


Jetzt bewerben!

Förderung für Dich!

Kennst Du schon unsere Aktionen?

  • Stipendien
  • Code Competitions
  • Workshops
  • c't Abo
  • Talentpools
  • u.v.m

Aktionen anschauen

IT-Talents ist ein Netzwerk nur für IT'ler. Auf unserer Plattform kannst Du Dich als registriertes Mitglied mit wenigen Klicks auf die Jobs unserer Partnerunternehmen oder auf IT-Projekte für Studierende bewerben. Darüberhinaus führen wir Wettbewerbe durch und vergeben IT-Stipendien.

Jetzt Mitglied werden.

Verwandte Artikel

Was ist das Objekterkennungssystem YOLO?

14. Aug 2020 in IT-Talents

Nicht nur die Großen der Branche wie Google oder Facebook entwickeln sie, neuronale Netzwerke zur Objekterkennung auf …

weiter

Business Intelligence Software - Welche Lösungen gibt…

23. Jul 2020 in IT-Talents

Daten gehören zu den wertvollsten Ressourcen jedes Unternehmens. Diese Schätze lassen sich allerdings nur mit einer e…

weiter

Was ist GAIA-X?

26. Jun 2020 in IT-Talents

Europäische Konzerne wünschen sich eine europäische Cloud. Am 4. Juni wurden ersten Einzelheiten zur technischen St…

weiter

Die 6 besten PHP Frameworks 2020

11. Jun 2020 in IT-Talents

Websites sind im Laufe der Zeit komplexer und anspruchsvoller geworden. Positiv zu vermerken ist, dass sie jetzt…

weiter

Was ist ein binäres System?

08. Jun 2020 in IT-Talents

Im Speicher eines Computers sind Daten und Programmcode als eine Folge von Zahlen 0 und 1 dargestellt. Das ist möglich, …

weiter

Application Lifecycle Management: Definition und Funktion

27. May 2020 in IT-Talents

Ein Softwareprodukt verläuft in seinem Lebenszyklus mehrere typische Phasen, die sich unabhängig von der Art und K…

weiter

Was ist Reinforcement Learning im Machine Learning?

27. May 2020 in IT-Talents

AlphaGo von Google ist ein enorm Leistungsfähiges Programm - zumindest in seinem eingeschränkten Nutzungsbereich. A…

weiter

Machine Learning: Was bedeutet Accuracy und Precision?

19. May 2020 in IT-Talents

Machine Learning ist ein Teilgebiet der künstlichen Intelligenz und befasst sich mit der Verbesserung von …

weiter

Was macht ein Softwareentwickler?

06. May 2020 in IT-Talents

Wir klären in diesem Ratgeber die Fragen, welche Aufgaben ein Softwareentwickler zu erfüllen hat, welche V…

weiter

Schnell-Login für unsere Mitglieder

Tipp: Halte Dein Profil aktuell.

Lass' uns wissen, falls sich etwas Neues bei Dir ergibt.

Tipp: Vervollständige Dein Profil für noch bessere Karrierechancen.

Bist Du Schüler, Student oder bereits berufstätig? Teile uns Deinen aktuellen Status mit, damit wir Dir sinnvolle Aufgaben anbieten können.

Jetzt Status angeben

Wann stehst Du der IT-Branche zur Verfügung?

Bitte Monat und Jahr angeben.

{{ perspectiveForm.availableFrom.$error.dynamic }}

Neuer Versuch

Wo möchtest Du durchstarten?

{{ location.geolocation.name }}×
Bitte mindestens ein Ort angeben.

Als {{currentUser.status.title}} bist Du bereit für:


Lade Beschäftigungsarten

Bitte wähle den Zeitpunkt, Ort und min. eine Beschäftigungsart aus.

You have voted!
Schliessen
Vote for:
stars
Vote
You have not rated!