2008-08-22 64 views
5

處理JSON對象我有一個通過Ajax調用檢索從遠程服務器對象的腳本。服務器JSON表示法,但是返回的對象。Adob​​e AIR的:從服務器

,在Adobe AIR中,對使用eval()出於安全原因的限制。所以我能夠從遠程服務器獲得答覆,但無法將其重新轉換爲JavaScript對象。有沒有解決這個問題的方法?我想爲我的JavaScript對象使用JSON,因爲它幾乎可以立即使用。注意:我確實理解強制解決問題的安全含義,但我會爲競賽做一些快速的應用程序開發,因此該程序只是一個快速原型,不能用於生產目的。不過,如果有什麼我想現在要做的


更新更好的選擇將是巨大的:

感謝Theojsight爲他們的答案;

我今天學到一個重要的事情是,我實際上可以通過使用

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
標籤由Adobe AIR擴展使用ActionScript庫的。查看 Theo's鏈接瞭解更多詳情!

回答

2

你有沒有看着as3corelib?它似乎爲JSON數據提供了一個AS3解析器,我的希望是它不依賴於eval(eval對於安全性往往是不利的,正如你所注意的那樣)。 Javascript也有類似的庫,並且由於調用(可能)惡意數據的eval的安全性影響,它們傾向於解析json的首選方式。

0

我認爲,如果你使用iframe和沙箱橋,這是可能的。你應該能夠在沙盒iframe中運行下載的代碼的eval(),

Adobe AIR 1.1 Doc's 摘錄」 ......它可能是更方便地運行在沙盒子幀內容,使得內容可以與運行在EVAL沒有限制()......」

另一個相關文章:Building on AIR: Working with the Sandbox Bridges

3

目前的空氣釋放(V2.5)捆綁有原生JSON支持較新的WebKit,通過JSON.stringify()和JSON .parse()。