2008-08-22 8 views
5

Ajax呼び出しによってリモートサーバーからオブジェクトを取得するスクリプトがあります。サーバーはJSON表記でオブジェクトを返しますAdob​​e AIR:サーバーからのJSONオブジェクトの処理

ただし、Adobe AIRではセキュリティ上の理由からeval()を使用する際に制限があります。だから私はリモートサーバーから返信を得ることができますが、JavaScriptオブジェクトに戻すことはできません。この問題の回避策はありますか? JSONをすぐに使用できるので、JavaScriptオブジェクトにJSONを使用したいと考えています。

サイドノート:問題を強制するためのセキュリティへの影響を理解していますが、競争のためのいくつかの迅速なアプリケーション開発を行っているため、プロダクトは短期間のプロトタイプであり、生産目的では使用されません。私は今


更新何をしようとしているのより良い代替手段があるかどうそれにもかかわらず、それは素晴らしいことだ。彼らの答えをTheojsightから

おかげで、

今日私が学んだ重要なことの1つは、Adobe AIRによって拡張された

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
タグを使用して実際にActionScriptライブラリを使用できることです。詳細は Theo'sリンクをご覧ください!

答えて

2

あなたはas3corelibを見ましたか? JSONデータ用のAS3パーサを提供するように見えますが、私が望むのは、eval(evalはあなたが気付いたようにセキュリティに悪い傾向がある)に依存しないことです。 Javascriptにも同様のライブラリがあり、悪意のあるデータに対するevalを呼び出すことのセキュリティ上の意味合いから、jsonを解析するのに好ましい方法です。

0

JSONはJavascript Object Notationです.Javascriptを使用している場合は、既にそこにいます。 は、これらのリンクを見てください、彼らはJSONからJavascriptのオブジェクトを作成する方法の例を与える:あなたは、Flex/AS3ルートを行くことに決めた場合

http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)

http://betterexplained.com/articles/using-json-to-exchange-data/

を、そしてjsightが言ったように、as3corelibは良いスタート地点です。

0

iframeとサンドボックスブリッジを使用すると可能です。あなたは、コンテンツがで実行できるように、サンドボックス子フレーム内のコンテンツを実行する方が便利かもしれ...「Adobe AIR 1.1 Doc's から

抜粋、サンドボックスiframe内にダウンロードされたコード上のeval()を実行することができますevalのには制限()...」

別の関連記事:Building on AIR: Working with the Sandbox Bridges

3

現在のAIRのリリース(V2.5)はJSON.stringify()とJSONを経由して、ネイティブJSONをサポートしている新しいWebKitのがバンドルされていません.parse()。