Objekte in JavaScript mit JSON deklarieren
26. April 2009 Roland
- Programmierung
- Variablenzuweisungen und Berechnungen
- Alter berechnen nur mit JavaScript
- Alter berechnen mit und ohne Javascript
- Code Optimierung
- Client Server Applikationsarchitektur
- Eigenschaften eines Webbrowsers
- Stylesheets
- Interaktive Webclients
- Mit HTML, oder SVG, interaktive Ein- Ausgaben erstellen
- Mit JavaScript aus einem Dokument Daten lesen
- Der Webserver
- Webserver-seitige Programmierung
- Datenbankanbindung
- Architekturprinzip Separation of Concerns
- Beschreibung von Anwendungsfällen
- Mit JavaScript einen wiederkehrenden Event erzeugen
- Kommunikationswege bei Einsatz von Java auf dem Webclient
- Einbinden der JavaScript Timer Klasse in eine Webseite
- AJAX Kommunikation ohne Fassaden Pattern
- JavaScript Klassen mit Object-Literal Syntax erstellen
- Knackpunkte bei der Klasse AsyncCommunication
- Speicherverbrauch in AJAX Applikationen
- Auch bei JavaScript immer die Variablen sauber deklarieren
- Eventhandler im JavaScript mit dem HTML Dokument verknüpfen
- Objekte in JavaScript mit JSON deklarieren
Im Artikel JavaScript Klassen mit Object-Literal Syntax erstellen habe ich über die verkürzte Darstellungsform beim Erstellen von Klassen in JavaScript geschrieben.
Nachdem ich drüber geschlafen habe, ist mir wieder das Wort JSON (Javascript Object Notation) eingefallen. Blöd wenn man ein bisschen verkalkt ist ![]()
Unter JSON können sich viele Menschen schon viel mehr vorstellen gelle?
Ist JavaScript denn nun wie Java?
JavaScript wird zwar wegen dem Marketingnamen von Netscape häufig mit Java in Verbindung gebracht. Wenn man sich aber einfach klar macht, dass JavaScript einfach nur ein Name ist, dann wird einem auch ziemlich schnell klar dass man Java nicht mit JavaScript gleichsetzen darf.
Immerhin hat JavaScript früher mal LiveScript geheisen und dass hat nun wirklich nichts mit Java zu tun.
Die Notationen sind zum Teil identisch. Und das macht es alten C++ und Java Tippern, wie mir zum Beispiel, nicht einfacher in den Mustern der anderen Sprachen zu denken.
Aber JavaScript ist nun mal anders.
Arrays sind Objekte
In JavaScript wird sehr viel über Arrays beschrieben.
Ein Array kannst du wie ein Assoziatives Array in PHP oder anderen Sprachen verwenden.
Du kannst aber auch Funktionen in die Arrays einschreiben. Genau das habe ich ja im letzten JavaScript Beispiel getan ohne es zu begreifen
.
Wenn du die JSON Schreibweise mal gewohnt bist, kannst du komplexe Datenstrukturen übersichtlich darstellen. Und genau darum geht es bei JSON und dem Objekteinsatz in JavaScript.
Typensicherheit in JavaScript
Eben genau das gibt es in JavaScript nicht. Wenn du bei Sprachen, wie Java, deine Klassen deklarierst, hast du Typsicherheit. Du kannst einer Variablen, die einen Integer darstellt, keinen Boolean zuweisen. In JavaScript werden Variablen einfach benannt und du kannst ihnen zuweisen was du willst. Es ist also erlaubt folgende Sequenz einzugeben:
-
eineVariable = "Hallole du dolle Welt!";
-
eineVariable = new Object();
Wenn du Java Entwickler bist, bekommst du beim Anblick der Sequenz normalerweise Zahnweh. Ist aber egal. JavaScript ist eine andere Art von Programmiersprache und wenn man das einsetzen will, dann muss man damit umgehen wie es ist. Ansonsten kämpfst du immer gegen die Sprache an. Das bringt dich aber nicht weiter.
Programmiersprachen sind dazu da, Business-Probleme zu lösen. Wenn du mehr Zeit damit verbringst zu phillosophieren warum etwas nicht so toll ist wie es sein könnte, verlierst du wertvolle Zeit. Nimm die Zeit lieber zum Ausschlafen, Wandern oder Blog-Artikel schreiben.
Nochmal zur JSON Schreibweise
In JSON wird die Schlüssel-Wertezuweisung grundsätzlich durch einen Doppelpunkt beschrieben.
-
alter : 42;
-
setAlter : function(alter){
-
this.alter = alter;
-
}
-
}
Zwischen dem Schlüssel (z.B. alter) und dem Wert dürfen mehrere Leerzeichen stehen. Du darfst also einrücken und somit die Lesbarkeit erhöhen.
Ich habe den Code für das letzte Beispiel etwas überarbeitet und nun vollständig auf JSON Schreibweise umgebaut.
Dabei habe ich mal wieder die Fehlerkonsole eingeschaltet und meine nicht deklarierten Variablen mit dem Schlüsselwort “var” definiert. Es ist doch immer wieder schön, wenn die Fehlerkonsole keine Fehler anzeigt ![]()
Beim Erstellen dieses Beispiels war ich vermutlich nicht ganz wach gewesen. Normalerweise schalte ich immer die Fehlerkonsole ein und bau Code der keine Informationen, Warnungen oder gar Fehler produziert.
Wenn du JavaScript in deine Webseiten einbaust, solltest du beim Testen immer die Fehlerkonsole geöffnet haben. Sie verrät dir viele spannende Details auf die du ansonsten nur schwer kommen kannst…
Verschachtelung
Wenn deine Datenstruktur nicht flach, sondern eher ein bisschen verschachtelt ist, kann das mit JSON auch sehr schön beschrieben werden.
Schau dir dazu doch einfach mal JSON Beispiel zum Verschachteln an.
Die Verschachtelung erfolgt durch [] Klammern.
Also ungefähr so:
-
a:6,
-
a_a=[
-
b:function(){},
-
c:42,
-
d:null
-
],
-
e:3,
-
f:5
-
}
Den einzelnen Attributen werden ihr Werte durch die Doppelpunkte zugewiesen und die Verschachtelung erfolgt durch die [] Klammern.
Ich habe mich am Anfang ein wenig gegen diese Darstellung gesträubt. So im Lauf der Zeit habe ich jedoch die Schönheit und die klare Darstellung zu schätzen gelernt.
Der Beitrag wurde
am Sonntag, den 26. April 2009 um 21:44 Uhr veröffentlicht
und wurde unter Programmieren abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=841
Dir gefiel der Artikel? Dann abonniere doch den RSS Feed![]()
Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.








