Partilhar via


JSON (JavaScript Object Notation)

JSON (JavaScript Object Notation) é um formato simples e leve de intercâmbio de dados baseado em um subconjunto da notação literal de objeto da linguagem JavaScript. O mecanismo JavaScript no Windows Internet Explorer 8 implementa a proposta JSON do ECMAScript 3.1 para funções nativas de manipulação de JSON (que usa a API json2.js de Douglas Crockford).

A Internet Explorer 8 inclui um objeto JSON nativo que está em conformidade com o suporte JSON descrito no Rascunho de Trabalho da Proposta do ES3.1. Algumas páginas da Web detectam o objeto JSON nativo e o usam de maneira não padrão. Esse uso normalmente causa um erro de script e interrompe o tratamento de solicitações AJAX. O exemplo de código a seguir mostra a maneira errada de usar o objeto JSON.

    if(!window.JSON) JSON = myJSON; 
    JSON.encode(obj); // Not part of the standard

Em vez disso, o exemplo de código a seguir mostra uma boa maneira de usar o objeto JSON.

    JSON = myJSON; 
    JSON.encode(obj);

O Windows Internet Explorer inclui suporte nativo para JSON introduzindo um objeto JSON global que tem dois métodos internos: stringify e análise. O objeto JSON global é definido no mecanismo JavaScript e é criado durante a fase de inicialização do mecanismo. Para manter a compatibilidade com versões anteriores, esse recurso só estará disponível quando um site usar a versão mais recente dos recursos do JavaScript usando o modo de layout "Internet Explorer 8 Padrões" (documento). Esse recurso também pode afetar o comportamento de páginas da Web que dependem de uma variável global JSON ou usam json2.js.

Você pode substituir o objeto JSON global. Mas quando uma página da Web usa o modo de layout "Internet Explorer 8 Padrões" (documento), não é mais um objeto indefinido. Como o JSON é instanciado como um nome global pelo mecanismo JavaScript, verifica como "if(!this. JSON)" avalie como False e deve ser alterado no código do usuário.

Páginas da Web que usam json2.js provavelmente não são afetadas. Com poucas exceções, essas páginas devem funcionar mais rapidamente. As exceções ocorrem devido às diferenças entre a Implementação de JSON nativa da Internet Explorer e json2.js. Por exemplo, durante a serialização, a implementação JSON nativa detecta ciclos e não entra em recursão infinita como json.js. Para obter mais informações sobre essas exceções, consulte os Blogs do JavaScript.

Para obter mais informações, consulte Documentação econtrole de versão JSON e Suporte à versão do Mecanismo JavaScript.

Corrigir problemas de compatibilidade em aplicativos Web usando a exibição de compatibilidade