Pergunta

Tenho um script que recupera objetos de um servidor remoto através de uma chamada Ajax.O servidor retorna objetos em notação JSON.

Entretanto, no Adobe AIR, há uma restrição ao uso avaliação() por razões de segurança.Portanto, consigo obter respostas do servidor remoto, mas não consigo transformá-las novamente em objetos JavaScript.Existe alguma solução alternativa para esse problema?Gostaria de usar JSON para meus objetos JavaScript, pois pode ser usado quase imediatamente.

Nota :Entendo as implicações de segurança de forçar o problema, mas farei um desenvolvimento rápido de aplicativos para uma competição, de modo que o programa seria apenas um protótipo rápido e não usado para fins de produção.No entanto, seria ótimo se houvesse uma alternativa melhor para o que estou tentando fazer agora


Atualizar:

Graças a Téo e visão por suas respostas;

Uma coisa importante que aprendi hoje é que posso realmente fazer uso de bibliotecas ActionScript usando o método

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
tag estendida pelo Adobe AIR.Confira Theo's link para mais detalhes!

Foi útil?

Solução

Você pode encontrar um Analisador JSON escrito em JavaScript aqui (código fonte aqui).Você também pode usar o analisador JSON as3corelib do JavaScript, há uma descrição de como acessar bibliotecas ActionScript a partir de JavaScript aqui.

Outras dicas

A versão atual do AIR (v2.5) inclui um WebKit mais recente que possui suporte nativo a JSON, via JSON.stringify() e JSON.parse().

Você já olhou as3corelib?Parece fornecer um analisador AS3 para dados JSON, e minha esperança é que ele não dependa de eval (eval tende a ser ruim para a segurança, como você observou).Existem bibliotecas semelhantes para Javascript também, e elas tendem a ser a maneira preferida de analisar json devido às implicações de segurança de chamar eval em dados (potencialmente) maliciosos.

JSON é Javascript Object Notation, então se você estiver usando Javascript você já está lá!Dê uma olhada nestes links, eles dão exemplos de como criar objetos Javascript a partir de JSON:

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

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

Se você decidir seguir a rota Flex/AS3, como disse o jsight, as3corelib é um bom lugar para começar.

Acho que isso é possível se você usar uma ponte iframe e sandbox.Você deve ser capaz de executar eval() no código baixado no iframe em sandbox,

Trecho de Documentos do Adobe AIR 1.1"... pode ser mais conveniente executar o conteúdo em um quadro filho em área restrita para que o conteúdo possa ser executado sem restrições em eval () ..."

Outro artigo relacionado: Com base no AR:Trabalhando com as pontes Sandbox

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top