こんにちは、なかわけです。
今日は久しぶりにFlashの話です。いつもの備忘録です。
as3corelibで提供されているJSONユーティリティを使います。
エンコードの場合、
package { import flash.display.Sprite; import com.adobe.serialization.json.JSON; public class encodeJson extends Sprite { public function encodeJson():void { var encodedJson:String = JSON.encode({ 'name' : 'nakawake', 'type' : 'neko', 'age' : 3 }); } } }
デコードの場合(ウェブから取得してきた場合)
package { import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.IOErrorEvent; import com.adobe.serialization.json.JSON; public class decodeJson extends Sprite { public function PostAndLoad() { var request:URLRequest = new URLRequest('./json.php'); var loader:URLLoader = new URLLoader(); loader.load(request); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } //ロードが正常に完了したとき private function loaderCompleteHandler(event:Event):void { var json:Object = JSON.decode(loader.data); trace(json['name']); trace(json['type']); trace(json['age']); } //ロードに失敗したときの処理 private function errorHandler(event:IOErrorEvent):void { trace("失敗したー"); } } }
こんな感じ