2

FLASHでのJSONエンコーディングに関連するおそらく愚かな問題の周りに何時間も費やしました。

私は非常に単純なことをしようとしています。オブジェクトを作成し、それをJSONでシリアル化する必要があります。

しかし、Flashは私に教えてくれます

> 1061: Call to a possibly undefined method encode through a reference with static type Class.

これが私のコードです。こちらのチュートリアルのコピーです。何かが間違っています(私のコードでは、私が推測するチュートリアルではありません)が、何ができるのか理解できません:

import com.adobe.serialization.json.JSON;

var member1:Object = new Object();
member1.firstName = "John"
member1.lastName = "Parker"
member1.age = "32"
member1.country = "Canada"
member1.job = "Programmer"

var member2:Object = new Object();
member2.firstName = "Peter"
member2.lastName = "Anderson"
member2.age = "30"
member2.country = "USA"
member2.job = "System administrator"

var myData:Object = {staff:[member1, member2]};

var myJson:String = JSON.encode(myData);

trace(myJson);

行varmyJson:String = JSON.encode(myData); フラッシュは上記のエラーを生成します。クラスJSONが必要な場所(my_project / com / adobe / serialization / json / JSON.as)に適切であり、その中にencodestaticメソッドを見つけることができることを正確に説明します。

誰かが私の間違いがどこにあるのか、どこにあるのか教えてもらえますか?ありがとうございました。

4

2 に答える 2

6

JSON.parseJSON.stringfyは、FlashPlayer11以降で探している方法です。

JSON.encodeAdobe AS3 libの一部でしたが、JSON.decodeFlash PlayerにはネイティブJSONパーサーがあるため、そのクラスは必要ありません。

于 2013-03-26T15:20:23.460 に答える
0

わかった。いつものように、質問を投稿してから数秒後に答えが見つかりました。

JSONがAs3に直接組み込まれるようになったため、com.adobe.serialization.json.JSONを使用する必要はありません。

だから私はインポートを削除して置き換えました:

var myJson:String = JSON.encode(myData);

var myJson:String = JSON.stringify(myData);

そしてそれは動作します。

于 2013-03-26T15:27:04.337 に答える