2008-08-22 13 views
5

Nesneleri uzak bir sunucudan Ajax çağrısı aracılığıyla alan bir komut dosyası var. Sunucu, JSON gösterimindeki nesneleri döndürürAdobe AIR: JSON nesnelerini sunucudan işleme

Ancak, Adobe AIR'de güvenlik nedenleriyle eval() kullanımında bir kısıtlama vardır. Bu yüzden uzak sunucudan cevap alabiliyorum, ancak onları JavaScript nesnelerine dönüştürebiliyorum. Bu sorun için bir çözüm var mı? JavaScript nesneleri için JSON kullanmak istiyorum çünkü hemen kullanılabilir.

Yan not: Sorunu zorlamak için güvenlik uygulamalarını anlıyorum, ancak bir yarışma için hızlı bir uygulama geliştirme çalışması yapacağım, bu nedenle program yalnızca hızlı bir prototip olacak ve üretim amacıyla kullanılmayacaktı. Ben


Şimdi güncelle yapmaya çalışıyorum için daha iyi bir alternatif varsa Bununla birlikte, bu harika olurdu:

Teşekkür Theo ve bunların cevapları için jsight için;

Bugün öğrendiğim önemli bir şey, Adobe AIR tarafından genişletilen

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
etiketini kullanarak ActionScript kitaplıklarından faydalanabileceğim. Daha fazla bilgi için Theo's linkine göz atın!

cevap

2

as3corelib'a baktınız mı? JSON verileri için bir AS3 ayrıştırıcısı sağlanıyor gibi görünüyor ve umarım değerlendirmelere dayanmadığıdır (değerlendirme yaptığınız gibi güvenlik açısından kötü olma eğilimi gösterir). Javascript için de benzer lib'lar vardır ve jsonu ayrıştırmanın (potansiyel olarak) kötülükle ilgili verileri çağırmanın güvenlik üzerindeki etkileri nedeniyle json ayrıştırmanın tercih edilen yolu olma eğilimindedirler.

0

Iframe ve sandbox köprüsü kullandığınızda bunun mümkün olduğunu düşünüyorum. İçerik ile çalıştırılabilir, böylece koruma alanlı bir alt karede içeriklerini çalıştıracak daha uygun olabilir ... "Adobe AIR 1.1 Doc's den

alıntı, korumalı iframe'de indirilen kodu eval() çalıştırmak mümkün olmalıdır eval üzerinde herhangi bir kısıtlama (...)"

Başka ilgili madde: Building on AIR: Working with the Sandbox Bridges

3

akım HAVA salınımı (2.5 sürümü) JSON.stringify() ve JSON yoluyla, yerli JSON desteği vardır daha yeni WebKit'i demetleri .parse().

İlgili konular