2008-08-22 10 views
5

मेरे पास एक स्क्रिप्ट है जो अजाक्स कॉल के माध्यम से रिमोट सर्वर से ऑब्जेक्ट पुनर्प्राप्त करती है। सर्वर JSON नोटेशन में ऑब्जेक्ट देता है।एडोब एयर: सर्वर से JSON ऑब्जेक्ट्स को संभालना

हालांकि, एडोब एयर में, सुरक्षा कारणों से eval() का उपयोग करने पर प्रतिबंध है। तो मैं रिमोट सर्वर से जवाब प्राप्त करने में सक्षम हूं, लेकिन उन्हें वापस जावास्क्रिप्ट ऑब्जेक्ट्स में नहीं बदल सकता। क्या इस मुद्दे के लिए कोई कामकाज है? मैं अपने जावास्क्रिप्ट ऑब्जेक्ट्स के लिए जेएसओएन का उपयोग करना चाहता हूं, क्योंकि इसे लगभग तुरंत इस्तेमाल किया जा सकता है।

साइड-नोट: मैं इस मुद्दे को मजबूर करने के लिए सुरक्षा प्रभाव को समझता हूं, लेकिन मैं प्रतिस्पर्धा के लिए कुछ तेज़ अनुप्रयोग विकास कर रहा हूं, इसलिए कार्यक्रम केवल एक त्वरित प्रोटोटाइप होगा, और उत्पादन उद्देश्यों के लिए उपयोग नहीं किया जाएगा। फिर भी, यह महान अगर वहाँ मैं क्या


अद्यतन अब क्या करने की कोशिश कर रहा हूँ के लिए एक बेहतर विकल्प है होगा:

Theo और उनके जवाब के लिए jsight के लिए धन्यवाद;

आज एक महत्वपूर्ण बात मैंने सीखा है कि मैं वास्तव में एडोब एयर द्वारा विस्तारित

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
टैग का उपयोग कर एक्शनस्क्रिप्ट पुस्तकालयों का उपयोग कर सकता हूं। अधिक जानकारी के लिए Theo's लिंक देखें!

उत्तर

2

क्या आपने as3corelib पर देखा है? ऐसा लगता है कि जेएसओएन डेटा के लिए एएस 3 पार्सर प्रदान करना प्रतीत होता है, और मेरी आशा यह होगी कि यह eval पर भरोसा नहीं करता है (जैसा कि आपने नोट किया है, सुरक्षा के लिए eval खराब हो जाता है)। जावास्क्रिप्ट के लिए भी इसी तरह के libs हैं, और वे (संभावित रूप से) बुराई डेटा पर eval कॉलिंग के सुरक्षा प्रभाव के कारण जेसन पार्स करने का पसंदीदा तरीका है।

0

JSON जावास्क्रिप्ट ऑब्जेक्ट नोटेशन है, इसलिए यदि आप जावास्क्रिप्ट का उपयोग कर रहे हैं तो आप पहले से ही वहां हैं! इन कड़ियों पर एक नज़र डालें, वे कैसे JSON से जावास्क्रिप्ट वस्तुओं को बनाने के के उदाहरण दे:

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

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

आप फ्लेक्स/AS3 मार्ग जाने का निर्णय है, तो के रूप में jsight कहा , as3corelib शुरू करने के लिए एक अच्छी जगह है।

0

मुझे लगता है कि यदि आप आईफ्रेम और सैंडबॉक्स पुल का उपयोग करते हैं तो यह संभव है। आप सैंडबॉक्स iframe में डाउनलोड किया कोड पर eval() को चलाने के लिए सक्षम होना चाहिए

Adobe AIR 1.1 Doc's से अंश "... यह एक sandboxed चाइल्ड फ़्रेम में सामग्री को चलाने के लिए और अधिक सुविधाजनक हो सकता है इतना है कि सामग्री के साथ चलाया जा सकता है eval पर कोई प्रतिबंध नहीं() ... "

एक अन्य संबंधित लेख: Building on AIR: Working with the Sandbox Bridges

3

वर्तमान आकाशवाणी रिलीज (v2.5), एक नए वेबकिट देशी JSON समर्थन हासिल है कि बंडल JSON.stringify() और JSON के माध्यम से .parse()।

संबंधित मुद्दे