FlashでJSONを扱う方法

プログラミング

巷で話題のJSONを扱ってみました。JSON(JavaScript Object Notation)は、階層化されたデータをシンプルなテキストで表現することができ、XMLよりも少ないデータ量でFLASHとサーバサイドスクリプト間のデータのやりとりを可能にできます。

さらに、Flash内でXMLをパースして扱うようなめんどくさいやり方ではなく、馴染みのある配列とオブジェクトのみで記述されるので、処理もかんたんです。

JSONとして情報をやりとりするには「JSON.as」を利用します。

巷のサイトの中では#includeを使ってやってるところもありますが、ActionScript2.0ではエラーが起こりますので、importを使って読み込みます。

import JSON;   //埋め込みたいFlashファイルと同階層に「JSON.as」を配置します。

これでJSONクラスを扱うことができるようになります。
JSON式のデータの記法は、複数の要素は配列でまとめ、要素内はオブジェクトでまとめます。かんたんに書くと以下のようになります。

[{"属性名1":"属性値1"}, {"属性名2":"属性値2"},...]

これを利用して、サンプルのJSON文字列をパースし、扱いやすい配列に変換してみます。

import JSON;
jsonstr = '[{"myprop1":"myvalue1"},{"myprop2":"myvalue2"}]';
jsonlist = JSON.parse(jsonstr);
this.stop();

これでデバッガで確認すると、ちゃんと2つの要素が入った配列が生成されます。

逆にFlash上の配列やオブジェクトをJSON文字列にする方法は以下のようにstringify関数を実行します。

myObj1 = new Object();
myObj1.myprop1 = "myvalue1";
myObj2 = new Object();
myObj2.myprop2 = "myvalue2";
myArray = Array(myObj1, myObj2);
jsonstring = JSON.stringify(myArray);

これでデバッガで確認すると、ちゃんとJSON文字列が生成されます。

このページをシェアする

2006-10-09