トップ > corelib > JSON 形式データを corelib を利用して読み込む (AS3)

JSON 形式データを corelib を利用して読み込む (AS3)

マッシュアップコンテンツなど、各 API サービスを利用してコンテンツ制作していると、API によっては、レスポンスが JSON 形式のみの場合も少なくはないはず。

JSON(ジェイソン)とは
(関係ないけども「ジェイソン」って微妙に微妙な名前…)

さて、API のレスポンスが XML 形式であれば、Flash でも簡単に処理が可能となるので問題ないのだが、JSON 形式の場合だと、「??」と困惑する人も多いかもしれない。ちなみに僕もその中の1人である(汗

でも、JSON 形式でも AS3 であれば、ライブラリを利用することで簡単に処理を行うことができる。

corelib

サンプル JSON 形式データ (json.txt)


{"data":[{"No":1,"name":"名前1","title":"タイトル1"},{"No":2,"name":"名前2","title":"タイトル2"},{"No":3,"name":"名前3","title":"タイトル3"}]}

ソース


package {
	
	//クラス
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	//corelib version .90
	import com.adobe.serialization.json.JSON;
	
	public class Main extends Sprite {
		
		//コンストラクタ
		public function Main() {
			
			//URLLoader作成
			var jsonUrl = new URLRequest("json.txt");
			var jsonLoader:URLLoader = new URLLoader(jsonUrl);
			jsonLoader.load(jsonUrl);
			
			//イベント設定
			jsonLoader.addEventListener(Event.COMPLETE, jsonLoaderComplete);
			
			//読み込み完了
			function jsonLoaderComplete(event:Event) {
				//データを格納
				var jsonData = jsonLoader.data;
				
				//JSONデータをデコード
				var obj:Object = JSON.decode(jsonData);
				
				//出力
				var n:uint = obj["data"].length;
				for (var i:uint = 0; i < n; i++) {
					trace(obj["data"][i]["No"]);
					trace(obj["data"][i]["name"]);
					trace(obj["data"][i]["title"]);
				}
			}
		}
	}
}

上記の trace 出力結果


1
名前1
タイトル1
2
名前2
タイトル2
3
名前3
タイトル3

JSON 形式データも構造化されているものなので、オブジェクトとして配列化させ、簡単にデータが取り出せるようになる。

この記事をブックマークしておく

コメント:0

コメント投稿

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

この情報を記憶する

トップ > corelib > JSON 形式データを corelib を利用して読み込む (AS3)

記事検索
カテゴリ
RSSフィード

このページの先頭へ戻る