JSON (JavaScript Object Notation)

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

O Internet Explorer 8 inclui um objeto JSON nativo que está em conformidade com o suporte JSON descrito no rascunho de trabalho da proposta 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 suportes nativos 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 (documento) do "Internet Explorer 8 Standards". 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 (documento) do "Internet Explorer 8 Standards", ele 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 JSON nativa do 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 javaScript.

Para obter mais informações, consulte a documentação JSON e o controle de versão e o suporte à versão do Mecanismo JavaScript.

Corrigindo problemas de compatibilidade em aplicativos Web usando o modo de exibição de compatibilidade