JSON verleiht Flügel

03.05.2007

Zur Schaffung von zukunftsträchtigen und innovativen Webanwendungen ist es unumgänglich, sich mit ebensolchen Technologien auseinanderzusetzen. Im Zeitalter des Web 2.0 sprießen Anwendungen und Dienste aus dem Boden, die in puncto Funktionalität und Verhaltensweise einer bisherigen Desktopanwendung kaum noch nachstehen. In einem zurückliegenden Artikel dieses Blogs wurden bereits einzelne Aspekte der asynchronen Kommunikation von Webseiten beleuchtet. Unter anderem auch JSON: Abkürzung für JavaScript Object Notation.Inzwischen stößt dieser Ansatz auf zunehmende Akzeptanz. Beispielsweise Yahoo oder del.ico.us haben das Austauschformat für Daten bereits in ihr öffentliches API integriert. So lassen sich beispielsweise die Bookmarks eines Useraccounts von letzt genanntem Dienst per JSON abfragen und natürlich auch weiterverarbeiten. Der hierfür notwendige URL lautet http://del.icio.us/feeds/json/<myAccount> wobei natürlich anzumerken ist, dass der Platzhalter <myAccount> mit einem gültigen Benutzernamen von del.ico.us zu erstzen ist.

Ergebnisbeispiel einer del.ico.us-Anfrage als JSON
Delicious.posts =
[ {"u":"http://www.slideshare.net/Kaliya/digital-identity-mix07/",
"d":"Digital Identity @ Mix07 » SlideShare", "t":["Identity","presentation"] },
{„u“:“http://www.businessweek.com/technology/special_reports/20070416virtuallife.htm“,
„d“:“Technology News, Science News : Technology & Science News Articles“
},{„u“:“https://blog.doubleslash.de/2007/04/13/favicon_generator/“,
„d“:“Helferlein im Netz: Favicon Generator“, „t“:[„Helferlein“,“Netz“,“Generator“,“Favicon“] },{„u“:“http://www.masternewmedia.org/content_delivery_and_distibution/RSS-to-HTML/RSS-to-HTML-conversion-tools/2007-03-30.htm“,
„d“:“RSS To HTML – How To Convert RSS Feeds Into Published Web Pages – A Mini-Guide – Robin Good’s Latest News“,
„t“:[„RSS“,“html“,“tools“] }]

Ein entscheidender Vorteil von JSON im Umfeld von Webanwendungen stellt die vergleichsweise einfache Verarbeitung auf dem Client dar. Dieser muss natürlich in der Lage sein, JavaScript zu verarbeiten. Dies ist jedoch mit einem einigermaßen aktuellen Browser gewährleistet. Um die empfangenen Daten in JavaScript verarbeiten zu können, bedarf es einer Umwandlung in ein JavaScript Objekt. Dieser Schritt erfolgt mit der eval()-Funktion. Danach kann vergleichsweise einfach durch die Objektstruktur navigiert werden. Im aktuellen Codebeispiels also durch das Object Delicious.posts.

Anhand der gezeigten Codebeispiele wird der Vorteil gegenüber XML schnell deutlich. So handelt es sich beispielsweise um ein relativ schlankes Austauschformat für Daten. Ebenso entfällt auf der Clientseite der Ressourcen-verschwendende Parsing-Vorgang. Sicherlich lassen sich noch weitere Vorteile ausmachen. Nicht zuletzt entscheidet aber auch der konkrete Eisatzzweck über mögliche Vor- und auch Nachteile.

Wir als Dienstleister für innovative Softwarelösungen setzen mittlerweile immer stärker auf den Einsatz von JSON. Bisweilen haben wir bereits in mehreren Projekten diese vielversprechende Technologie verwendet und dadurch einen enormen Mehrwert für unsere Kunden geschaffen. Anfänglich gab es sicherlich noch die ein oder andere Klippe zu umschiffen, aber insgesamt kann der Einsatz in operativen Projekten durchaus lohnenswert und zielführend sein.

Zurück zur Übersicht

2 Kommentare zu “JSON verleiht Flügel

  1. JSON (JavaScript Object Notation) ist ein schlankes Datenaustauschformat, das für Menschen einfach zu lesen und zu schreiben und für Maschinen einfach zu parsen (Analysieren von Datenstrukturen) und zu generieren ist. Es basierd auf einer Untermenge der JavaScript Programmiersprache, Standard ECMA-262 dritte Edition – Dezember 1999.

    Bei JSON handelt es sich um ein Textformat, das komplett unabhängig von Programmiersprachen ist, aber vielen Konventionen folgt, die Programmieren aus der Familie der C-basierten Sprachen (inklusive C, C++, C#, Java, JavaScript, Perl, Python und vielen anderen) bekannt sind. Diese Eigenschaften machen JSON zum idealen Format für Datenaustausch.

    JSON baut auf zwei Strukturen auf:

    * Name/Wert Paare. In verschiedenen Sprachen wird dies realisiert 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).

    * Eine geordnete Liste von Werten. In den meisten Sprachen wird das als Array (array), Vektor (vector), Liste (list) oder Sequenz (sequence) realisiert.

    Hierbei handelt es sich um universelle Datenstrukturen, die von so gut wie allen modernen Programmiersprachen in der einen oder anderen Form unterstützt werden. Es macht also Sinn, dass ein zwischen Programmiersprachen austauschbares Datenformat auch auf diesen Strukturen aufbaut.

    In JSON gibt es:

    Ojekte: Ein Objekt ist eine ungeordnete Menge von Name/Wert Paaren. Ein 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.

    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.

    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.

    Eine Zeichenkette besteht aus keinem (leere Zeichenkette) oder mehr Unicode Zeichen und 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 Zeichenkette (string) in JSON ist einer Zeichenkette in C oder Java sehr ähnlich.

    Eine Zahl in JSON ist einer Zahl in C oder Java sehr ähnlich mit der Ausnahme, dass oktale und hexadezimale Zahlen nicht verwendet werden.

    Leerzeichen können zwischen JSON-Elementen beliebig eingefügt werden.

  2. JSON kommt auch zunehmend als Ergänzung zu RSS auf. z.B. kann jetzt schon nahezu jeder RSS-Feed über http://pipes.yahoo.de modifiziert und in einen JSON-Strom gewandelt werden.

    Ich persönlich finde die Umsetzung in Flash/ActionScript UND JavaScript sehr schön.

    Die Vorteile, dass nämlich JSON gegenüber XML „kleiner“ ist, finde ich sehr angenehm. XML muss teilweise redundante Strukturen verwenden um Daten zu beschreiben.

    Macht weiter so. Tommy.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*