diff options
Diffstat (limited to 'files/pt-br/json/index.html')
-rw-r--r-- | files/pt-br/json/index.html | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/files/pt-br/json/index.html b/files/pt-br/json/index.html new file mode 100644 index 0000000000..5212f7c589 --- /dev/null +++ b/files/pt-br/json/index.html @@ -0,0 +1,134 @@ +--- +title: JSON +slug: JSON +translation_of: Glossary/JSON +--- +<p><strong>JSON</strong> (Notação de Objetos JavaScript) e um formato de dados permutável. Ele assemelha - se próximo a um sub tipo da sintaxe do <a href="/en-US/docs/Trash/MDN/JavaScript/About_JavaScript">JavaScript</a>, mas ele não é um tipo de script. (Veja <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON">JSON</a> em <a href="/en/JavaScript/Reference">Referências JavaScript</a> para todos os detalhes). Isto é útil quando escrevemos qualquer tipo de aplicação baseada em JavaScript, incluindo web sites e extensões de navegadores. Por exemplo, você pode armazenar informações no formato em JSON no formato de <a href="/en/DOM/document.cookie">cookies</a>, ou você pode armazenar as preferências de extensões em JSON como valor de texto nas preferências do navegador.</p> +<p>JSON e capaz de representar números, booleanos, textos, vazios, e listas (sequência ordenada de valores) e objetos (mapeamento de valores de texto) composto por estes valores (ou por outras listas e objetos). Ele não representa nativamente tipos complexos de dados como funções, expressões regulares, datas, e muito mais. (Objetos de dados por padrão inicializam como texto contendo os dados no formato ISO, enquanto eles não mudam, a informação não é completamente perdida.) Se você precisa preservar muitos valores, você pode transformar valores como eles são inicializados, ou prioritariamente descontinuados, para habilitar JSON para representar tipos de dados adicionais.</p> +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h4 id="Documentation" name="Documentation"><a href="/Special:Tags?tag=JSON&language=en">Documentação</a></h4> + <dl> + <dt> + <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON"><font face="monospace">Objetos JSON</font></a></dt> + <dt> + <small><small>Os objetos JSON contém métodos para converter valores para Notação de objetos javascript (JSON) e para converter JSON para valores.</small></small></dt> + </dl> + <dl> + <dt> + <small><a href="/en/Using_native_JSON"><font face="monospace">Usando o JSON nativo</font></a><span style="line-height: 1.5;"> </span></small></dt> + <dt> + <small><small>Este artigo cobre o ECMAScript 5 compilando a linguagem nativa JSON somado em Gecko 1.9.1.</small></small></dt> + </dl> + <dl> + <dt> + <small><a href="/en/JSON/JSONPath">Caminho JSON</a></small></dt> + <dt> + <small><small>Caminho JSON significa o uso XPath como sintaxe para a estrutura de requisições do JSON. Ele não é o padrão, mas apresenta maneiras de requisição em JavaScript diretamente sem precisar converte - la para xml.</small></small></dt> + <dt> + </dt> + <dt> + <small><a href="/en/Downloading_JSON_and_JavaScript_in_extensions" title="en/Downloading_JSON_and_JavaScript_in_extensions">Baixando JSON e extensões em Javascript</a></small></dt> + <dt> + <small><small>A pratica habitual encontrada em muitas extensões está usando XMLHttpRequest (ou outros mecanismos) para baixar Javascript ou <a href="/en/JSON">JSON </a>(eles são diferentes) para um site web remoto. Uma vez o conteúdo já sido baixado, a extensão escrita procedida pelo uso <a href="/en/Core_JavaScript_1.5_Reference/Functions/eval">eval()</a> para decodificar o texto contendo objetos JavaScript, a escolha e uma prática perigosa e não deve, de fato passar na revisão <a href="http://addons.mozilla.org">AMO.</a> Este artigo mostra como evitar isto.</small></small></dt> + </dl> + <dl> + <dt> + <small><a href="/en/JXON" title="en/JXON">JXON</a></small></dt> + <dd> + <small><small>JXON padrões sem perdas de Notação de Objetos JavaScript XML, ele é um nome genérico pelo qual e definida a representação da árvore dos objetos JavaScript (JSON) usando XML.</small></small></dd> + </dl> + <dl> + <dt> + <small><a href="/en/JavaScript/Reference/Global_Objects/JSON/stringify" title="en/JavaScript/Reference/Global_Objects/JSON/stringify"><code>Método JSON.stringify</code></a></small></dt> + <dd> + <small><small>Converta valores para JSON, opcionalmente substituindo valores se a função for específica, ou opcionalmente incluindo somente propriedades especificas se a substituição na lista for especifica.</small></small></dd> + </dl> + <dl> + <dt> + <small><a href="/en/JavaScript/Reference/Global_Objects/JSON/parse" title="en/JavaScript/Reference/Global_Objects/JSON/parse"><code>Método JSON.parse</code> </a></small></dt> + <dd> + <small><small>Analisa a string como JSON, opcionalmente transforma o valor produzido pela análise.</small></small></dd> + </dl> + <p><small><span class="alllinks"><a href="/Special:Tags?tag=JSON&language=en" title="Pages tagged with: JSON">Veja Todos...</a></span></small></p> + </td> + <td> + <h4 id="Community" name="Community">Comunidade</h4> + <ul> + <li>Veja os foruns Mozilla...</li> + <li> </li> + </ul> + <ul> + <li>{{DiscussionList("dev-tech-json","mozilla.dev.tech.json") }}</li> + </ul> + <h4 id="Tools" name="Tools">Ferramentas</h4> + <ul> + <li><a class="internal" href="/en/JavaScript/Reference/Global_Objects/JSON#Browser_compatibility" title="JSON object polyfills">JSON polyfills</a></li> + <li><a class="external" href="http://jsonselect.org" title="http://jsonselect.org/">JSONSelect</a></li> + <li> </li> + </ul> + <p style="text-align: right;"><span class="alllinks"><a href="/Special:Tags?tag=JSON:Tools&language=en" title="Pages tagged with: JSON:Tools">Veja Todos...</a></span></p> + <h4 id="Related_Topics" name="Related_Topics">Topicos Relacionados</h4> + <dl> + <dd> + <a href="/en/AJAX" title="en/AJAX">AJAX</a>, <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>, <a href="/en/XUL" title="en/XUL">XUL</a></dd> + </dl> + </td> + </tr> + </tbody> +</table> +<h2 id="JSON_in_Firefox_2" name="JSON_in_Firefox_2">Usando JSON atráves de objetos JavaScript JSON</h2> +<p>O mais simples, fácil caminho para usar JSON e através do padrão de <a href="/en/JavaScript/Reference/Global_Objects/JSON">objetos JSON</a> em JavaScript. Use <a href="/en/JavaScript/Reference/Global_Objects/JSON/stringify">JSON.stringify</a> para inicializar valores em JSON, e use <a href="/en/JavaScript/Reference/Global_Objects/JSON/parse">JSON.parse</a> para deserializar um valor JSON.</p> +<p>Por exemplo, para inicializar um objeto JavaScript, use o método JSON.stringify():</p> +<pre class="brush: js">var foo = {}; +foo.bar = "new property"; +foo.baz = 3; + +var JSONfoo = JSON.stringify(foo); +</pre> +<p><code>JSONfoo</code> now holds <code>{"bar":"new property","baz":3}</code>. Para fazer JSONfoo voltar a ser um objeto JavaScript faça:</p> +<pre class="brush: js">var backToJS = JSON.parse(JSONfoo); +</pre> +<p>Para mais informações, veja a <a href="/en/JavaScript/Reference/Global_Objects/JSON">documentação de objetos JSON</a>.</p> +<h2 id="Método_toJSON()">Método toJSON()</h2> +<p>Se um objeto define o método toJSON(), JSON.stringify pode se chamar estes métodos para determinar a representação de objetos JSON. Por exemplo:</p> +<pre class="brush: js">x = {}; +x.foo = "foo"; +x.toJSON = function() { return "bar"; }; +var json1 = JSON.stringify(x); +</pre> +<p><code>json1</code> now contains '"bar"'.</p> +<h2 id="Limitações">Limitações</h2> +<p>Você não pode inicializar objetos que sejam membros escolhidos para funções. As especificações JSON não permitem. Por exemplo:</p> +<pre class="brush: js">foo.qwerty = function(){alert('foobar');}; +foo.qwerty() +var JSONfoo = JSON.toString(foo); +</pre> +<p>will raise a <code>TypeError on line XXX: No JSON representation for this object!</code></p> +<h2 id="Usando_JSON_através_do_nsIJSON">Usando JSON através do nsIJSON</h2> +<p>Versões do Firefox anteriores a 3.5 nativamente não suportam JSON, e há um único caminho para acessar as funcionalidades JSON é através do componente <code><a href="/en/XPCOM_Interface_Reference/nsIJSON" title="en/nsIJSON">nsIJSON</a>, implementado</code> desde o Firefox 3. Codificando e decodificando são executados através nsIJON's métodos de codificação e decodificação. Estes métodos não acessam o JSON através de objetos JSON, e eles somente suportam valores escolhidos por listas de objetos, sem textos, booleanos, números ou vazios. (Estes valores são suportados somente por listas e objetos: o simples número 5 não irá funcionar, mas o objeto {"valor": 5} funcionará.)</p> +<p>Por causa nsIJSON não ser tão eficaz como um objeto JSON, ele codifica e decodifica métodos já removidos para Firefox 7. Desenvolvedores devem escolher para uso objeto JSON.</p> +<p>O seguinte código inicializa um objeto JavaScript usando <code>nsIJSON</code>:</p> +<pre class="brush: js">var Ci = Components.interfaces; +var Cc = Components.classes; + +var foo = {}; +foo.bar = "new property"; +foo.baz = 3; + +var nativeJSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON); +var JSONfoo = nativeJSON.encode(foo); +</pre> +<p>The <code>JSONfoo</code> variable now holds the string <code>{"bar":"new property","baz":3}</code>. To create an object corresponding to <code>JSONfoo</code>, just do:</p> +<pre class="brush: js">var backToJS = nativeJSON.decode(JSONfoo); +</pre> +<h2 id="Using_JSON" name="Using_JSON">Usando JSON em outras situações</h2> +<p>Enquanto na teoria e possível usar JSON usando <a href="/en/JavaScript/Reference/Global_Objects/eval">eval</a> (mas somente para descerializar objetos, e não para inicializar textos) ou usando <a href="https://github.com/douglascrockford/JSON-js">json2.js</a>, Está não é uma boa ideia. Isto não e seguro para analisar JSON usando eval por que ele permite muito mais sintaxe que JSON faz (Melhora para execução de um código aleatório). Como para json2.js, este problema e que ele adiciona métodos para compilação como Object.prototype, escolha o mais útil para parar a execução do código antecipando está possibilidade.</p> +<p>Você deve quase sempre usa - lo ou os métodos formulados para usar JSON em preferências para qualquer outro caminho.</p> +<h2 id="See_also" name="See_also">Veja também</h2> +<ul> + <li>{{ interface("nsIJSON") }}</li> +</ul> +<p>{{ languages( { "ja": "ja/JSON", "zh-cn": "zh-cn/JSON" } ) }}</p> |