<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ JSON - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ JSON - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 30 May 2026 08:36:29 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/json/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Qual é o Content-Type correto para um JSON? O cabeçalho de requisição de Mime explicado ]]>
                </title>
                <description>
                    <![CDATA[ Cada recurso usado na internet possui um tipo de mídia, também conhecido como tipo MIME (sigla em inglês para Multipurpose Internet Mail Extension, ou Extensão de Correio da Internet Multifuncional, em português). Essa informação é necessária para transações entre servidores e clients. O navegador precisa saber qual o tipo dos ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/qual-e-o-content-type-correto-para-um-json-o-cabecalho-de-requisicao-de-mime-explicado/</link>
                <guid isPermaLink="false">6346d791287f9a05e0d4d3eb</guid>
                
                    <category>
                        <![CDATA[ JSON ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Glaucia Esppenchutz ]]>
                </dc:creator>
                <pubDate>Tue, 17 Jan 2023 02:16:51 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/01/5fcf4739e6787e098393bd6d.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/what-is-the-correct-content-type-for-json-request-header-mime-type-explained/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is the Correct Content-Type for JSON? Request Header Mime Type Explained</a>
      </p><p>Cada recurso usado na internet possui um tipo de mídia, também conhecido como tipo MIME (sigla em inglês para <em>Multipurpose Internet Mail Extension</em>, ou Extensão de Correio da Internet Multifuncional, em português). Essa informação é necessária para transações entre servidores e <em>clients</em>.</p><p>O navegador precisa saber qual o tipo dos recursos de mídia que são enviados a ele e como lidar com esses recursos de maneira correta. </p><p>A mesma situação acontece com o servidor. Ele precisa saber o tipo de recursos que são enviados a ele para análise e processamento precisos.</p><p><strong>O que é a declaração de Content-Type?</strong></p><p>O tipo de mídia de qualquer recurso é declarado na propriedade <code>Content-Type</code> no cabeçalho de uma requisição (no <em>client</em>, quando fazendo a requisição ao servidor) e no cabeçalho de resposta (no servidor, quando enviando uma reposta).</p><p>Sem declarar explicitamente o tipo de conteúdo de uma fonte, o client pode tentar automaticamente detectar o tipo, mas o resultado pode não ser o mais preciso. Por isso a importância de o declarar explicitamente.</p><h2 id="tipos-de-m-dia">Tipos de mídia</h2><p>Os tipos de mídia existentes têm diversas formas. Eles são categorizados em vários grupos:</p><ul><li>aplicação (<code>application</code>)</li><li>áudio (<code>audio</code>)</li><li>fonte (<code>font</code>)</li><li>exemplo (<code>example</code>)</li><li>imagem (<code>image</code>)</li><li>mensagem (<code>message</code>)</li><li>modelo (<code>model</code>)</li><li>multiparte (<code>multipart</code>)</li><li>texto (<code>text</code>)</li><li>e vídeo (<code>video</code>)</li></ul><p>Essas categorias também têm seus tipos. Por exemplo, <code>application/json</code> é um tipo em <code>application</code> e <code>text/html</code> é um tipo em <code>text</code>.</p><p>Você pode encontrar uma lista completa dos tipos de mídia na <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">IANA</a> (uma organização que coordena alguns dos elementos principais da internet).</p><p>Todos esses vários tipos de dados, como texto, áudio, imagens, HTML e tantos outros são usados por toda a internet.</p><h2 id="o-navegador-precisa-saber-o-tipo-de-m-dia-de-um-recurso"><strong>O navegador precisa saber o tipo de mídia de um recurso</strong></h2><p>Como mencionei acima, o navegador precisa saber que tipo de conteúdo ele recebe. Aqui temos um exemplo ilustrativo.</p><p>O código abaixo é um servidor do Node que serve um arquivo HTML:</p><pre><code class="language-js">const http = require("http");
const fs = require("fs");
const path = require("path");

const server = http.createServer(function (req, res) {
	const filePath = path.join(__dirname, "index.html");
	var stat = fs.statSync(filePath);

	res.writeHead(200, {
		"Content-Type": "text/css",
		"Content-Length": stat.size,
	});

	const readStream = fs.createReadStream(filePath);
	readStream.pipe(res);
});

server.listen(5000);

console.log("Servidor da web do Node.js na porta 5000 em execução.");
</code></pre><p>Não se preocupe com as especificidades do código. O que importa aqui é o arquivo <code>index.html</code> que estamos servindo e que <code>Content-Type</code> é <code>text/css</code>.</p><p>Aqui está o conteúdo de <code>index.html</code>:</p><pre><code class="language-html">&lt;h1&gt;Homepage&lt;/h1&gt;
</code></pre><p>Logicamente, um documento HTML é diferente de um arquivo CSS. Aqui está o resultado em <code>localhost:5000</code> quando o servidor é iniciado:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/01/Screenshot-2020-12-08-at-10.12.32.png" class="kg-image" alt="Screenshot-2020-12-08-at-10.12.32" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/01/Screenshot-2020-12-08-at-10.12.32.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/01/Screenshot-2020-12-08-at-10.12.32.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/01/Screenshot-2020-12-08-at-10.12.32.png 1262w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><p>Você também pode confirmar a resposta obtida conferindo os cabeçalhos na aba Rede (ou em inglês, <em>Network</em>) das ferramentas do desenvolvedor.</p><p>Aqui vemos o resultado em um navegador do Google Chrome:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/01/Screenshot-2020-12-08-at-10.13.34.png" class="kg-image" alt="Screenshot-2020-12-08-at-10.13.34" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/01/Screenshot-2020-12-08-at-10.13.34.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/01/Screenshot-2020-12-08-at-10.13.34.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/01/Screenshot-2020-12-08-at-10.13.34.png 1232w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><p>O navegador obteve o conteúdo como um tipo CSS. Por isso, tentou tratá-lo como um arquivo CSS.</p><p>Observe também que o conhecimento pleno do tipo de conteúdo obtido pelo navegador reduz vulnerabilidades de segurança, pois o navegador conhece os padrões de segurança a serem utilizados para os dados em questão.</p><p>Agora que você compreendeu o conceito de tipos MIME e sua importância, vamos tratar do JSON.</p><h2 id="o-tipo-correto-de-content-type-para-json"><strong>O tipo correto de<strong> Content-Type </strong>para <strong>JSON</strong></strong></h2><p>O JSON precisa ser interpretado corretamente pelo navegador para ser usado adequadamente. <code>text/plain</code> era tipicamente usado para JSON, mas, de acordo com a <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">IANA</a>, o tipo MIME oficial para o JSON é <code>application/json</code>.</p><p>Isso significa que, quando você estiver enviando JSON para o servidor ou recebendo JSON do servidor, deve sempre declarar o <code>Content-Type</code> do cabeçalho como <code>application/json</code>, pois esse é o padrão que tanto o <em>client </em>quanto o servidor entendem.</p><h2 id="conclus-o"><strong><strong>Conclus</strong>ão</strong></h2><p>Como vimos acima, o servidor (assim como o navegador) precisa saber o tipo de dados enviados a ele, por exemplo, em uma solicitação de POST. Esse é o motivo pelo qual <code>forms</code> com arquivos geralmente contêm o atributo <code>enctype</code> com o valor de <code>multipart/form-data</code>.</p><p>Sem codificar a solicitação dessa maneira, a solicitação de POST não dará certo. Além disso, quando o servidor sabe o tipo de dados que foi enviado para ele, ele saberá como fazer o <em>parsing </em>dos dados codificados.</p><p>Neste artigo, examinamos o que são os tipos MIME e sua finalidade. Vimos também qual é o tipo oficial de conteúdo para JSON. Espero que você agora saiba da importância de declarar os tipos de recursos quando utilizá-los na internet.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Usando as planilhas do Google como um endpoint de JSON ]]>
                </title>
                <description>
                    <![CDATA[ ATUALIZAÇÃO: 13/5/2020 – Os passos da nova caixa de diálogo de compartilhamento [https://gsuiteupdates.googleblog.com/2020/04/new-file-sharing-dialog-google-drive.html]  estão disponíveis abaixo. > Obrigado, Erica H.! Você está construindo algum protótipo de aplicação web dinâmica e precisa da colaboração de pessoas que não possuem experiência como desenvolvedoras? Já participei de um hackathon antes. Mesmo tendo ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/usando-as-planilhas-do-google-como-um-endpoint-de-json/</link>
                <guid isPermaLink="false">63834851d7295905e9348e24</guid>
                
                    <category>
                        <![CDATA[ JSON ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Gabriel Galdino ]]>
                </dc:creator>
                <pubDate>Sun, 01 Jan 2023 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/0_kycb_xJ-enmTWhvL.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/cjn-google-sheets-as-json-endpoint/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to use Google Sheets as a JSON Endpoint</a>
      </p><p>ATUALIZAÇÃO: 13/5/2020 – Os passos da <a href="https://gsuiteupdates.googleblog.com/2020/04/new-file-sharing-dialog-google-drive.html">nova caixa de diálogo de compartilhamento</a> estão disponíveis abaixo.</p><blockquote>Obrigado, Erica H.!</blockquote><p>Você está construindo algum protótipo de aplicação web dinâmica e precisa da colaboração de pessoas que não possuem experiência como desenvolvedoras?</p><p>Já participei de um hackathon antes. Mesmo tendo a experiência e o conhecimento em desenvolvimento de aplicações, não tinha habilidade ou tempo suficiente para implementar um aplicação web completa na sprint de 3 dias. Era pouco tempo para ajudar e, assim, foi deixada de lado a possibilidade de assistir a tutoriais e estudar HTML e CSS.</p><p>O resultado? Aprendi muito, mas gostaria de ter contribuído mais.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-125.png" class="kg-image" alt="image-125" width="310" height="232" loading="lazy"></figure><p>Em um dos hackathons dos quais participei recentemente, encontrei um problema semelhante. Dessa vez, eu não era o novato. Havia no meu time pessoas que não eram engenheiras de software e que queriam ajudar na construção de nosso protótipo de aplicação web. Felizmente, nos deparamos com as planilhas do Google como uma maneira de essas pessoas simularem nosso banco de dados e fazerem com que os desenvolvedores de back-end se conectassem ao endpoint de JSON das planilhas do Google e pudessem, assim, analisá-lo.</p><p>Com este guia, você será capaz de:</p><ol><li>Criar uma planilha nas planilhas do Google.</li><li>Publicar a planilha na web.</li><li>Gerar um endpoint de JSON.</li><li>Tornar a planilha pública para colaboração.</li><li>Passar o endpoint de JSON para o time de desenvolvedores de back-end.</li></ol><p>Após este tutorial, você poderá entrar em equipes dizendo: "Posso ajudar com o back-end!".</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-126.png" class="kg-image" alt="image-126" width="315" height="395" loading="lazy"></figure><h3 id="se-o-1-criando-uma-planilha-do-google">Seção 1: Criando uma planilha do Google</h3><p><strong>Passo<strong><strong><strong> 1:</strong></strong></strong></strong></p><p>Vá até as <a href="https://docs.google.com/spreadsheets/u/0/" rel="nofollow noopener">planilhas do Google</a></p><p><strong>Passo<strong><strong><strong> 2:</strong></strong></strong></strong></p><p>Crie uma planilha</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_2md2vMHKWXzXbWOwddzXPw.png" class="kg-image" alt="1_2md2vMHKWXzXbWOwddzXPw" width="404" height="448" loading="lazy"></figure><h3 id="se-o-2-publicando-suas-planilhas-do-google-na-web">Seção 2: Publicando suas planilhas do Google na web</h3><p><em>Nota: a atualização da nova caixa de diálogo de compartilhamento a partir de 13/05/2020, localizada após o passo 2.</em></p><p><strong>Passo<strong><strong><strong> 1:</strong></strong></strong></strong></p><p>Clique em "<strong><em>Arquivo</em></strong>"<strong><strong><strong><strong><em><em> </em></em></strong></strong></strong></strong><em><em>&gt; </em></em>"<strong><strong><strong><strong><em><em>Publi</em></em></strong></strong></strong><em>car na</em><strong><strong><strong><em><em> web…</em></em></strong></strong></strong></strong>" (ou, em inglês, como na imagem, <strong>File</strong> &gt; <strong>Publish to the web...</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_XFtPyWBYh3JX6PdQUJ5j-w.png" class="kg-image" alt="1_XFtPyWBYh3JX6PdQUJ5j-w" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_XFtPyWBYh3JX6PdQUJ5j-w.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_XFtPyWBYh3JX6PdQUJ5j-w.png 634w" width="634" height="1428" loading="lazy"></figure><p><strong>Passo<strong><strong><strong> 2:</strong></strong></strong></strong></p><p>Clique em "<strong><strong><strong><strong><em><em>Publi</em></em></strong></strong></strong><em>car</em></strong>" (ou, em inglês, como na imagem, <strong>Publish</strong>), depois em "<strong><strong><strong><strong><em><em>OK</em></em></strong></strong></strong></strong>"<strong><em>.</em></strong></p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_QtAY0n29zHviNXdsPJZaQQ.png" class="kg-image" alt="1_QtAY0n29zHviNXdsPJZaQQ" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_QtAY0n29zHviNXdsPJZaQQ.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_QtAY0n29zHviNXdsPJZaQQ.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_QtAY0n29zHviNXdsPJZaQQ.png 1268w" sizes="(min-width: 720px) 720px" width="1268" height="1592" loading="lazy"></figure><p><strong>Passo<strong><strong><strong> 3:</strong></strong></strong></strong></p><p>Não há necessidade de fazer nada aqui.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_WenBwpAkxyDc4fhGPeC6Dw.png" class="kg-image" alt="1_WenBwpAkxyDc4fhGPeC6Dw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_WenBwpAkxyDc4fhGPeC6Dw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_WenBwpAkxyDc4fhGPeC6Dw.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_WenBwpAkxyDc4fhGPeC6Dw.png 1258w" sizes="(min-width: 720px) 720px" width="1258" height="1202" loading="lazy"></figure><h3 id="atualiza-o-13-05-2020-nova-caixa-de-di-logo-de-compartilhamento">ATUALIZAÇÃO: 13/05/2020 - Nova caixa de diálogo de compartilhamento</h3><p><strong>Passo<strong> 1:</strong></strong><br>Clique em <strong>"Compartilhar"</strong> (ou, em inglês, como na imagem, <strong>Share</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-108.png" class="kg-image" alt="image-108" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/image-108.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-108.png 650w" width="650" height="264" loading="lazy"></figure><p><strong>Passo<strong> 2:</strong></strong></p><p>Clique em "<strong>Alterar para qualquer pessoa com o link</strong>" (ou, em inglês, como na imagem, <strong>Change to anyone with the link</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-107-1.png" class="kg-image" alt="image-107-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/image-107-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-107-1.png 811w" sizes="(min-width: 720px) 720px" width="811" height="485" loading="lazy"></figure><p><strong>Passo<strong> 3:</strong></strong></p><p>Clique em "<strong>Concluído</strong>" (ou, em inglês, como na imagem, <strong>Done</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-109-1.png" class="kg-image" alt="image-109-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/image-109-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/image-109-1.png 808w" sizes="(min-width: 720px) 720px" width="808" height="464" loading="lazy"></figure><h3 id="se-o-4-usando-suas-planilhas-das-planilhas-do-google-como-endpoint-de-json">Seção 4: usando suas planilhas das planilhas do Google como endpoint de JSON</h3><p><strong>Passo<strong><strong><strong> 1:</strong></strong></strong></strong></p><p>Copie o template de URL e cole na barra de endereços:</p><p><a href="https://spreadsheets.google.com/feeds/cells/1g4FBktkm7al3ZkDI8LuFXuztTqK4nY-eUYMLep6BRuw/1/public/full?alt=json" rel="nofollow noopener noopener nofollow noopener">https://spreadsheets.google.com/feeds/cells/CÓDIGODASUAPLANILHAGOOGLESHEETS/NÚMERODAPÁGINADAPLANILHA/public/full?alt=json</a></p><p><strong>Passo<strong><strong><strong> 2:</strong></strong></strong></strong></p><p>Vá até a planilha do Google aberta e verifique a barra de endereços.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_xRIMehCRmQxSQpAWi2bhlQ.png" class="kg-image" alt="1_xRIMehCRmQxSQpAWi2bhlQ" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_xRIMehCRmQxSQpAWi2bhlQ.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_xRIMehCRmQxSQpAWi2bhlQ.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_xRIMehCRmQxSQpAWi2bhlQ.png 1562w" sizes="(min-width: 720px) 720px" width="1562" height="66" loading="lazy"><figcaption>URL da planilha do Google</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_AM6_ME5wgoQdtfMHFB_ipg.png" class="kg-image" alt="1_AM6_ME5wgoQdtfMHFB_ipg" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_AM6_ME5wgoQdtfMHFB_ipg.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_AM6_ME5wgoQdtfMHFB_ipg.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_AM6_ME5wgoQdtfMHFB_ipg.png 1600w" sizes="(min-width: 720px) 720px" width="1600" height="68" loading="lazy"><figcaption>Código da planilha do Google</figcaption></figure><p><strong>Passo<strong><strong><strong> 3:</strong></strong></strong></strong></p><p>Vá até o template de URL e substitua</p><ul><li><em><strong>CÓDIGODASUAPLANILHAGOOGLESHEETS</strong> </em>por <strong><strong><strong><strong><em><em>1ifbWzueslEP5-_ysP6gg7o_NaHQmqF8LlXBfStCwFMs</em></em></strong></strong></strong></strong></li><li><em><strong>NÚMERODAPÁGINADAPLANILHA</strong> </em>por <strong><strong><strong><strong><em><em>1</em></em></strong></strong></strong></strong></li></ul><p><strong>Passo<strong><strong><strong> 4:</strong></strong></strong></strong></p><p>Recupere o URL do JSON</p><p><a href="https://spreadsheets.google.com/feeds/cells/1ifbWzueslEP5-_ysP6gg7o_NaHQmqF8LlXBfStCwFMs/1/public/full?alt=json" rel="nofollow noopener">https://spreadsheets.google.com/feeds/cells/1ifbWzueslEP5-_ysP6gg7o_NaHQmqF8LlXBfStCwFMs/1/public/full?alt=json</a></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_SU97RXIK-rFaMWEfaP1kng.png" class="kg-image" alt="1_SU97RXIK-rFaMWEfaP1kng" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_SU97RXIK-rFaMWEfaP1kng.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_SU97RXIK-rFaMWEfaP1kng.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_SU97RXIK-rFaMWEfaP1kng.png 1600w" sizes="(min-width: 720px) 720px" width="1600" height="1253" loading="lazy"><figcaption>Resultado do URL do JSON</figcaption></figure><h3 id="se-o-5-tornando-p-blica-sua-planilha-do-google-para-colabora-o-e-entrada-de-dados-">Seção 5: Tornando pública sua planilha do Google (para colaboração e entrada de dados)</h3><h4 id="passo-1-"><strong>Passo 1:</strong></h4><p>No canto superior direito, clique em "<strong>Compartilhar</strong>" (ou, em inglês, como na imagem, <strong>Share</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_O2SCuizLuiLPFFBQVRL9vw.png" class="kg-image" alt="1_O2SCuizLuiLPFFBQVRL9vw" width="468" height="118" loading="lazy"></figure><p><strong>Passo<strong><strong><strong> 2:</strong></strong></strong></strong></p><p>Adicione um nome e clique em "<strong><strong><strong><strong><em><em>Sa</em></em></strong></strong></strong><em>lvar</em></strong>" (ou, em inglês, como na imagem, <strong>Save</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_D6leg5gLfYpoTOXlrpFUcw.png" class="kg-image" alt="1_D6leg5gLfYpoTOXlrpFUcw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_D6leg5gLfYpoTOXlrpFUcw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_D6leg5gLfYpoTOXlrpFUcw.png 882w" sizes="(min-width: 720px) 720px" width="882" height="584" loading="lazy"></figure><p><strong>Passo<strong><strong><strong> 3:</strong></strong></strong></strong></p><p>Clique em "<strong><strong><strong><strong><em><em>Avan</em></em></strong></strong></strong><em>çado</em></strong>" (ou, em inglês, como na imagem, <strong>Advanced</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_k7DGUBwGJnVIdZeuaQbGlA.png" class="kg-image" alt="1_k7DGUBwGJnVIdZeuaQbGlA" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_k7DGUBwGJnVIdZeuaQbGlA.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_k7DGUBwGJnVIdZeuaQbGlA.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_k7DGUBwGJnVIdZeuaQbGlA.png 1204w" sizes="(min-width: 720px) 720px" width="1204" height="654" loading="lazy"></figure><p><strong>Passo <strong><strong><strong>4:</strong></strong></strong></strong></p><p>Clique em "<strong><em>Alterar</em><strong><strong><strong><em><em>…</em></em></strong></strong></strong></strong>" &nbsp;(ou, em inglês, como na imagem, <strong>Change</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_qkKSGYrYiNp861WQjaoUKg.png" class="kg-image" alt="1_qkKSGYrYiNp861WQjaoUKg" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_qkKSGYrYiNp861WQjaoUKg.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_qkKSGYrYiNp861WQjaoUKg.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_qkKSGYrYiNp861WQjaoUKg.png 1190w" sizes="(min-width: 720px) 720px" width="1190" height="562" loading="lazy"></figure><p><strong>Passo<strong><strong><strong> 5:</strong></strong></strong></strong></p><p>Clique em "<strong><em>Ativado </em><strong><strong><strong><em><em>— P</em></em></strong></strong></strong><em>úblico</em><strong><strong><strong><em><em> </em></em></strong></strong></strong><em>na</em><strong><strong><strong><em><em> web</em></em></strong></strong></strong></strong>" (ou, em inglês, como na imagem, <strong>ON - Public on the web</strong>). Depois, clique em salvar "<strong><strong><strong><strong><em><em>Sa</em></em></strong></strong></strong><em>lvar</em></strong>" (ou, em inglês, como na imagem, <strong>Save</strong>).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_paO-_3OAzlhzW-oZQI9udw.png" class="kg-image" alt="1_paO-_3OAzlhzW-oZQI9udw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_paO-_3OAzlhzW-oZQI9udw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_paO-_3OAzlhzW-oZQI9udw.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_paO-_3OAzlhzW-oZQI9udw.png 1206w" sizes="(min-width: 720px) 720px" width="1206" height="958" loading="lazy"></figure><h3 id="pegadinhas-comuns-">Pegadinhas comuns:</h3><p>Se você receber a resposta abaixo, verifique o URL e certifique-se de estar usando o código correto das planilhas do Google na barra de endereço.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_xrfoHNKtE4uld3IylAI1Lw.png" class="kg-image" alt="1_xrfoHNKtE4uld3IylAI1Lw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_xrfoHNKtE4uld3IylAI1Lw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/1_xrfoHNKtE4uld3IylAI1Lw.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_xrfoHNKtE4uld3IylAI1Lw.png 1392w" sizes="(min-width: 720px) 720px" width="1392" height="808" loading="lazy"></figure><p>Se você receber a resposta abaixo, volte para a<em> Seção 2: Publicando suas planilhas do Google na web.</em></p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_ZL71DxnV5Rw6asXjpjjC1Q-1.png" class="kg-image" alt="1_ZL71DxnV5Rw6asXjpjjC1Q-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/1_ZL71DxnV5Rw6asXjpjjC1Q-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_ZL71DxnV5Rw6asXjpjjC1Q-1.png 760w" sizes="(min-width: 720px) 720px" width="760" height="234" loading="lazy"></figure><p><a href="https://www.linkedin.com/in/clarkngo/">LinkedIn do autor do texto</a></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Exemplo de comentário em JSON — Como comentar em arquivos JSON ]]>
                </title>
                <description>
                    <![CDATA[ Se você estiver tendo problemas em adicionar comentários em seu arquivo JSON, aqui está um bom motivo: o JSON não dá suporte a comentários. “Removi os comentários do JSON, pois eu vi que pessoas estavam usando os comentários para manter diretivas de parsing, uma prática que destruiria a interoperabilidade,” escreveu ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/exemplo-de-comentario-em-json-como-comentar-em-arquivos-json/</link>
                <guid isPermaLink="false">61dd6b543ca86504f628ee4f</guid>
                
                    <category>
                        <![CDATA[ JSON ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Tue, 11 Jan 2022 12:17:14 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/01/abstract-art-blur-bright-373543.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/json-comment-example-how-to-comment-in-json-files/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">JSON Comment Example — How to Comment in JSON Files</a>
      </p><p>Se você estiver tendo problemas em adicionar comentários em seu arquivo JSON, aqui está um bom motivo: o JSON não dá suporte a comentários.</p><p>“Removi os comentários do JSON, pois eu vi que pessoas estavam usando os comentários para manter diretivas de <em>parsing</em>, uma prática que destruiria a interoperabilidade,” escreveu <a href="https://web.archive.org/web/20150105080225if_/https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Douglas Crockford</a> (texto em inglês), que popularizou o formato de dados baseado em texto.</p><p>No entanto, existe uma maneira de contornar isso. É disso que trata este artigo: como adicionar comentários ao seu arquivo JSON.</p><h2 id="adicionar-dados-como-coment-rios"><strong>Adicionar dados como comentários</strong></h2><p>Uma maneira de contornar a questão dos comentários é adicionar dados ao seu arquivo JSON que funcionem como comentários.</p><p>Vamos ver um exemplo, começando com essas informações em nosso arquivo JSON:</p><pre><code class="language-json">{
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p><br>Agora, vamos adicionar outro par chave-valor que servirá como nosso comentário, o qual você pode ver na primeira linha do código abaixo:</p><pre><code class="language-json">{
   "_comment1": "Esse é o meu comentário",
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>Aqui temos outro exemplo. Dessa vez, usamos duas sublinhas no início e no fim da chave:</p><pre><code class="language-json"> "__comment2__": "Esse é outro comentário",
</code></pre><p>As sublinhas ajudam a diferenciar o comentário do resto dos dados no seu arquivo.</p><h3 id="um-aviso"><strong>Um aviso</strong></h3><p>Há um detalhe importante que deve ser observado.</p><p>Os comentários que adicionamos em nosso arquivo JSON são incluídos no objeto JSON. Em outras palavras, os comentários são tratados como dados.</p><p>É isso o que queremos dizer.</p><p>Esse é o código do nosso arquivo, <strong><strong><code>data.json</code></strong></strong>:</p><pre><code class="language-json">{
   "_comment1": "Esse é o meu comentário",
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>Agora, vamos ler esses dados a partir do arquivo,<strong><strong> <code>read_comments.py</code></strong></strong>:</p><pre><code class="language-python">import json
with open("data.json", mode="r") as j_object:
   data = json.load(j_object)
print(data)
</code></pre><p>O resultado incluirá nosso comentário:</p><pre><code class="language-json">{'_comment1': 'Esse é o meu comentário', 'sport': 'basketball', 'coach': 'Joe Smith', 'wins': 15, 'losses': 5}
</code></pre><p>Podemos até extrair o valor do comentário do objeto JSON: <code>Esse é o meu comentário</code>:</p><pre><code class="language-python">import json
 
with open("data.json", mode="r") as j_object:
   data = json.load(j_object)
   print(data["_comment1"])
</code></pre><p>Lembre-se de que o comentário é um comentário apenas aos olhos do desenvolvedor — mas o computador o enxerga como dados.</p><h3 id="um-tipo-diferente-de-coment-rio"><strong>Um tipo diferente de comentário</strong></h3><p>Essa prática de comentar em JSON é diferente dos comentários em linguagens de programação, como o Python, que tipicamente os ignoram quando o programa é executado.</p><pre><code class="language-python"># Aqui está o meu comentário
word = "house"
for letter in word:
   print(letter)
</code></pre><p>Quando executamos o programa em Python acima, obtemos as letras da palavra, “house”, mas não vemos o comentário. Ele é ignorado.</p><h2 id="op-es-para-comentar"><strong>Opções para comentar</strong></h2><p>O <a href="https://www.crockford.com/jsmin.html">JSMin</a> é outra opção a se considerar.</p><p>Ele é uma ferramenta que remove espaços em branco e comentários dos arquivos JavaScript. Mas ele também funciona com arquivos JSON. O JSMin remove comentários dos arquivos JSON antes de eles passarem pelo <em>parsing</em>.</p><p>Portanto, existem opções para se comentar em arquivos JSON. Embora não sejam soluções perfeitas, pelo menos, há formas de incluir a documentação de que você precisa quando você precisa dela.</p><p><em>A autora escreve sobre aprender a programar e sobre as melhores maneiras de fazer isso. Visite o site da autora em </em><a href="https://amymhaddad.com/" rel="noopener nofollow">amymhaddad.com</a>.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
