AS3でのJSONの基本的なアプリケーション例



Basic Application Examples Json As3



最近、「AS3json」キーワードで検索した友達をたくさん見つけました。この点を心配している友人がまだたくさんいることは明らかです。ただし、AS3JSONに関する記事はほとんどありません。オンライン検索は、私の前の記事を含め、基本的に転送されたものと同じ記事であり、例はありません。多くの初心者が霧の中で雲を見ると思います。実際、私も奇妙に感じます。jsonは実際には非常に単純です。どうすれば、誰でも良いチュートリアルを書くことができます。これ以上ナンセンスではありません、私は再版された友人が出典を示すことができることを願っています、ありがとう。



まず、JSONクラスライブラリが必要です。adobeが公式に提供している製品クラスライブラリをダウンロードすることをお勧めします。 as3corelib 。クラスライブラリの使用は言うまでもありませんが、誰もが知っておく必要があります。

データの取得について話しましょう。 AS3とXMLの相互作用を理解していれば、JSONも確実に理解できると言えます。両者はほぼ同じであるため、JSONの形式を理解するだけです。たとえば、次のJSONの例(XMLなど)では、この形式を任意の動的ページから生成したり、静的またはTXTを介して読み取ることができます。



[{'name':'Hans','age':'32'}, {'name':'John','age':'12'}, {'name':'Zaki','age':'34'}, {'name':'Dr. Cox','age':'88'}]

ASのコード:

package { import com.adobe.serialization.json.JSON import flash.display.Sprite import flash.events.Event import flash.net.URLLoader import flash.net.URLRequest public class getJSON extends Sprite { public function getJSON() { var loader:URLLoader = new URLLoader() Loader.load(new URLRequest( 'http://127.0.0.1/json.php' ))//here is the path you want to get JSON loader.addEventListener(Event.COMPLETE, decodeJSON) } private function decodeJSON(evt:Event):void { var persons:Array = JSON.decode( URLLoader( evt.target ).data ) / / Here, you can apply the data by operating the array, it is very convenient for (var i=0 i

とても簡単ですか?ここでは、decode()メソッドのみを使用します。実際、JSONクラスライブラリは2つのメソッドのみを使用し、もう1つはすぐに使用されるencode()です。誰もがそれをエンコードとデコードとして理解できます。データを送信するコードは次のとおりです。



package { import com.adobe.serialization.json.JSON import flash.display.Sprite import flash.events.Event import flash.net.* public class sendJSON extends Sprite { public function sendJSON() { Var arr : Array = new Array({'name':'Hans','age':'32'},{'name':'John','age':'12'},{'name':' Zaki','age':'34'},{'name':'Dr. Cox','age':'88'})//This is the data to be sent, either directly or by Other methods are generated, but pay attention to the format. sendjson( arr ) } private function sendjson( a : Array ):void { var jsonString : String = JSON.encode(a) var urlVariables:URLVariables = new URLVariables() urlVariables.json = jsonString Var urlRequest:URLRequest = new URLRequest(http://127.0.0.1/json.php) //This is the dynamic page that receives the data. urlRequest.method = URLRequestMethod.POST urlRequest.data = urlVariables // Actually this is over, the following XML is just a test result. var urlLoader:URLLoader = new URLLoader() urlLoader.addEventListener(Event.COMPLETE, onURLLoaderCompleteEvent) urlLoader.load(urlRequest) } private function onURLLoaderCompleteEvent( evt : Event ):void { var xml:XML = new XML(evt.target.data) trace(xml) } } }