javascript - stringify作用 - node js json




Adobe AIR:從服務器處理JSON對象 (4)

JSON是Javascript對象表示法,所以如果你使用Javascript,你已經在那裡了! 看看這些鏈接,他們給出瞭如何從JSON創建Javascript對象的例子:

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

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

如果你決定走Flex / AS3路線,那麼就像jsight說的那樣,as3corelib是一個很好的開始。

我有一個通過Ajax調用從遠程服務器檢索對象的腳本。 服務器以JSON表示法返回對象。

但是,在Adobe AIR中,出於安全原因使用eval()存在限制。 所以我能夠從遠程服務器獲得答复,但無法將其重新轉換為JavaScript對象。 有沒有解決這個問題的方法? 我想為我的JavaScript對象使用JSON,因為它幾乎可以立即使用。

附註:我確實了解這個問題的安全性,但是我會為競賽做一些快速的應用程序開發,所以這個程序只是一個快速的原型,不能用於生產目的。 不過,如果現在有更好的替代方案,那將是很好的選擇

更新:

感謝Theo和jsight的答案;

我今天學到的一件重要的事情是我可以通過使用

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


你看過as3corelib嗎? 它似乎提供了一個JSON數據的AS3解析器,我希望它不會依賴於eval(eval往往是安全性不好,因為你注意到)。 Javascript也有類似的庫,它們往往是解析json的首選方法,因為調用eval(可能)的惡意數據會帶來安全隱患。


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

摘自Adobe AIR 1.1 Doc的 “...在沙盒子框架中運行內容可能會更方便,因此內容可以在eval()沒有限制的情況下運行...”

另一篇相關文章: 在AIR上構建:使用沙箱橋


當前的AIR版本(v2.5)通過JSON.stringify()和JSON.parse()捆綁了一個具有本機JSON支持的新的WebKit。







air