15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verwenden der nativen JSON-Funktionalität<br />

Am wichtigsten ist, dass die JSONDictionaryExtnExample.toJSON()-Methode zusätzlich zum<br />

JSONDictionaryExtnExample-Objekt einen Markerstring zurückgibt. Dieser String kennzeichnet die JSON-Ausgabe<br />

als zur JSONDictionaryExtnExample-Klasse gehörig. Dieser Marker gibt eindeutig an, welcher Objekttyp während<br />

JSON.parse() verarbeitet wird.<br />

package {<br />

// Generic dictionary example:<br />

public class JSONGenericDictExample {<br />

static var revivableObjects = [];<br />

static var nextId = 10000;<br />

public var id;<br />

public var dname:String;<br />

public var birthday;<br />

}<br />

}<br />

public function JSONGenericDictExample(name, birthday) {<br />

revivableObjects[nextId] = this;<br />

this.id = "id_class_JSONGenericDictExample_" + nextId;<br />

this.dname = name;<br />

this.birthday = birthday;<br />

nextId++;<br />

}<br />

public function toString():String { return this.dname; }<br />

public static function revive(id:String):JSONGenericDictExample {<br />

var r:RegExp = /^id_class_JSONGenericDictExample_([0-9]*)$/;<br />

var res = r.exec(id);<br />

return JSONGenericDictExample.revivableObjects[res[1]];<br />

}<br />

package {<br />

import flash.utils.Dictionary;<br />

import flash.utils.ByteArray;<br />

// For this extension of dictionary, we serialize the contents of the<br />

// dictionary by using toJSON<br />

public final class JSONDictionaryExtnExample extends Dictionary {<br />

public function toJSON(k):* {<br />

var contents = {};<br />

for (var a in this) {<br />

contents[a.id] = this[a];<br />

}<br />

// We also wrap the contents in an object so that we can<br />

// identify it by looking for the marking property "class E"<br />

// while in the midst of JSON.parse.<br />

Letzte Aktualisierung 27.6.2012<br />

130

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!