<?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[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Json - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 24 May 2026 19:37:31 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/json/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Comentarios en un archivo JSON ]]>
                </title>
                <description>
                    <![CDATA[ JSON (JavaScript Object Notation - Notación de Objeto de JavaScript) es un formato de intercambio de datos popular utilizado en el desarrollo web y aplicaciones móviles debido a su simplicidad y flexibilidad. Pero los archivos JSON no soportan comentarios oficialmente. Esto hace que proporcionar contexto o explicación adicional para estos ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/comentarios-en-un-archivo-json/</link>
                <guid isPermaLink="false">65c24922aa1f2203f0eb0eae</guid>
                
                    <category>
                        <![CDATA[ Json ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Cristian Fernando Villca Gutierrez ]]>
                </dc:creator>
                <pubDate>Wed, 21 Feb 2024 07:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2024/02/cover-template--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>JSON (JavaScript Object Notation - Notación de Objeto de JavaScript) es un formato de intercambio de datos popular utilizado en el desarrollo web y aplicaciones móviles debido a su simplicidad y flexibilidad.</p><p>Pero los archivos JSON no soportan comentarios oficialmente. Esto hace que proporcionar contexto o explicación adicional para estos datos sea un desafío.</p><p>Este artículo te mostrará cómo incluir comentarios en archivos JSON y por qué JSON no admite comentarios de forma nativa.</p><h2 id="-por-qu-json-no-soporta-comentarios">¿Por qué JSON no soporta comentarios?</h2><p>Según la especificación JSON, un documento JSON sólo debe contener estructuras de datos como arreglos y objetos y no incluir comentarios. Esto se debe a que JSON pretende ser un formato de datos simple y fácilmente analizable que se pueda procesar de manera rápida y eficiente.</p><p>Los comentarios, si bien son útiles para proporcionar contexto o explicación adicional para los humanos,<strong> pueden agregar complejidad al proceso de análisis</strong>. Esto ralentiza el rendimiento y aumenta el riesgo de errores.</p><p>La razón principal por la que JSON no admite comentarios es que su creador, <a href="https://es.wikipedia.org/wiki/Douglas_Crockford">Douglas Crockford</a>, los eliminó deliberadamente del formato para evitar el uso indebido y mantenerlo como un formato exclusivamente de datos.</p><p>Crockford observó que algunas personas usaban comentarios para almacenar directivas de análisis, lo que podría romper la compatibilidad entre diferentes sistemas. De ahí la decisión de eliminar los comentarios para mantener la simplicidad y coherencia del formato en varios lenguajes y entornos de programación.</p><p>Como resultado, la única opción para agregar comentarios a un archivo JSON es utilizar una solución alternativa, como utilizar elementos personalizados para almacenar comentarios.</p><h2 id="-c-mo-agregar-comentarios-a-un-archivo-json">¿Cómo agregar comentarios a un archivo JSON?</h2><p>Cuando agregas comentarios en el formato <code>//</code>, <code>#</code> o <code>/* */</code>, que se utilizan en lenguajes de programación populares, notará el error <strong>Comments are not permitted in JSON</strong> ("<strong>No se permiten comentarios en JSON</strong>").</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2024/02/s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image.png" class="kg-image" alt="s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2024/02/s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image.png 600w, https://www.freecodecamp.org/espanol/news/content/images/size/w1000/2024/02/s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image.png 1000w, https://www.freecodecamp.org/espanol/news/content/images/size/w1600/2024/02/s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image.png 1600w, https://www.freecodecamp.org/espanol/news/content/images/2024/02/s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image.png 1774w" sizes="(min-width: 720px) 720px" width="1774" height="354" loading="lazy"></figure><p>Entonces, ¿cómo puedo agregar comentarios a mi archivo JSON?</p><p><strong>La única forma de hacerlo es incluir comentarios como pares de datos en un archivo JSON</strong>. No es una práctica comúnmente utilizada ni recomendada, pero técnicamente es la mejor manera de agregar comentarios a su archivo JSON.</p><p>Crea un elemento personalizado dentro de tu objeto JSON, como "_comentario", para distinguirlos del resto de los datos.</p><pre><code class="language-json">{
    "_comentario": "escribe acá tu comentario JSON"
    "nombre": "John Doe",
    "edad": 35,
    "ciudad": "New York",
    "esCasado": true,
    "ocupacion": "Ingeniero de Software",
}</code></pre><p><strong>Nota</strong>: No es obligatorio utilizar guiones bajos. Puedes decidir utilizar dos barras, como “//comentario” o cualquier otro carácter permitido. <strong>El objetivo es dejar claro que se trata de un comentario</strong>.</p><p>Es importante tener en cuenta que este enfoque puede hacer que el archivo JSON sea más complejo y más difícil de analizar. Pero si los comentarios se agregan como elementos personalizados, se recibirán y procesarán como cualquier otro dato en JSON en el lado del servidor.</p><p>Ahora sabes técnicamente cómo agregar comentarios a tu archivo JSON. Pero, ¿cómo se pueden agregar varios comentarios? Esto es posible, pero debes recordar que JSON no permite claves de objetos duplicadas. Debe incluir letras o números únicos en el elemento de comentario, asegurándose de que sea válido y distinguible de otros elementos en el archivo JSON.</p><pre><code class="language-json">{
    "_comentario1": "Estos son datos básicos",
    "nombre": "John Doe",
    "edad": 35,
    "ciudad": "New York",
    "_comentario2": "Información marital",
    "esCasado": true,
    "nombreEsposa": "Jane Doe"
}</code></pre><p>Cuando tengas objetos JSON anidados, puedes utilizar claves de objetos similares:</p><pre><code class="language-json">{
    "_comentario": "Estos son datos básicos",
    "nombre": "John Doe",
    "edad": 35,
    "ciudad": "New York",
    "informacionMarital": {
        "_comentario": "Información Marital",
        "esCasado": true,
        "nombreEsposa": "Jane Doe"
    }
}</code></pre><h1 id="conclusi-n">Conclusión</h1><p>Ahora sabes cómo agregar comentarios a tu archivo JSON. Pero debido a que estos comentarios también se procesan y se puede acceder a ellos, debes tener cuidado al agregar comentarios a archivos JSON utilizando elementos personalizados.</p><p>Gracias por leer y feliz codificación.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ ¿Cuál es el Content-Type correcto para JSON? Explicación del Mime Type del encabezado de la solicitud ]]>
                </title>
                <description>
                    <![CDATA[ Cada recurso utilizado en Internet tiene un tipo de medio, también conocido como tipo MIME, que significa Extensión multipropósito de correo de Internet (por sus siglas en inglés Multipurpose Internet Mail Exension). Esta información es necesaria para las transacciones entre el servidor y el cliente. El navegador necesita conocer el ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/cual-es-el-content-type-correcto-para-json-explicacion-del-mime-type-del-encabezado-de-la-solicitud/</link>
                <guid isPermaLink="false">644f5e34e59d8f07c2db34ff</guid>
                
                    <category>
                        <![CDATA[ Json ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ CipherBoB ]]>
                </dc:creator>
                <pubDate>Tue, 16 May 2023 18:45:23 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/05/5fcf4739e6787e098393bd6d.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo 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 utilizado en Internet tiene un tipo de medio, también conocido como tipo MIME, que significa Extensión multipropósito de correo de Internet (por sus siglas en inglés Multipurpose Internet Mail Exension). Esta información es necesaria para las transacciones entre el servidor y el cliente.</p><p>El navegador necesita conocer el tipo de medio de los recursos que se le envían para que pueda manejarlos correctamente.</p><p>Lo mismo ocurre con el servidor. Necesita saber el tipo de recursos que se le envían para un análisis y procesamiento precisos.</p><h2 id="-d-nde-se-declara-el-tipo-de-contenido-content-type-"><strong>¿Dónde se declara el tipo de contenido (Content-Type)?</strong></h2><p>El tipo de medio de cualquier recurso se declara en la propiedad <code>Content-Type</code> del encabezado de la solicitud (en el cliente, al realizar una solicitud al servidor) o en el encabezado de respuesta (en el servidor, al enviar una respuesta).</p><p>Sin declarar explícitamente el tipo de contenido de un recurso, el cliente puede intentar detectar automáticamente el tipo, pero el resultado puede no ser exacto. Por eso es importante declararlo explícitamente.</p><h2 id="tipos-de-medios"><strong>Tipos de medios</strong></h2><p>Los tipos de medios existen en varias formas. Se clasifican en varios grupos:</p><ul><li>application (aplicación)</li><li>audio</li><li>font (fuente)</li><li>example (ejemplo)</li><li>image (imagen)</li><li>message (mensaje)</li><li>model (modelo)</li><li>multipart</li><li>text (texto)</li><li>y video</li></ul><p>Estas categorías también tienen sus tipos. Por ejemplo, <code>application/json</code>es un tipo dentro de <code>application</code>y <code>text/html</code>es un tipo dentro de <code>text</code>.</p><p>Puedes encontrar una lista completa de tipos de medios en los tipos de medios de la <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">IANA</a> (un organismo que coordina algunos de los elementos clave en Internet).</p><p>Todos estos tipos cubren varios tipos de datos como texto, audio, imágenes, HTML y muchos más tipos que se utilizan en Internet.</p><h2 id="el-navegador-necesita-saber-el-tipo-de-medio-de-un-recurso"><strong>El navegador necesita saber el tipo de medio de un recurso</strong></h2><p>Como mencioné anteriormente, el navegador necesita saber qué tipo de contenido recibe. He aquí un ejemplo para ilustrar eso.</p><p>El siguiente código es un servidor Node que sirve un archivo 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("Node.js web server at port 5000 is running..");
</code></pre><p>No te preocupes por los detalles del código. Todo lo que debe preocuparte es el archivo <code>index.htm</code> que estamos sirviendo y que el <code>Content-Type</code>es <code>text/css</code>.</p><p>Aquí está el contenido del <code>index.html</code>:</p><pre><code class="language-html">&lt;h1&gt;Homepage&lt;/h1&gt;
</code></pre><p>Por supuesto, un documento HTML es diferente de un archivo CSS. Aquí está el resultado de <code>localhost:5000</code>cuando el servidor está iniciado:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/12/Screenshot-2020-12-08-at-10.12.32.png" class="kg-image" alt="Screenshot-2020-12-08-at-10.12.32" width="600" height="400" loading="lazy"></figure><p>También puedes confirmar la respuesta obtenida al verificar los encabezados en la pestaña de red de DevTools.</p><p>Aquí está el resultado en un navegador Chrome:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/12/Screenshot-2020-12-08-at-10.13.34.png" class="kg-image" alt="Screenshot-2020-12-08-at-10.13.34" width="600" height="400" loading="lazy"></figure><p>El navegador obtuvo el contenido como un tipo CSS, por lo tanto, intentó tratarlo como CSS.</p><p>Además, ten en cuenta que el conocimiento completo del tipo de contenido obtenido por el navegador también reduce las vulnerabilidades de seguridad, ya que el navegador conoce los estándares de seguridad que debe implementar para esos datos.</p><p>Ahora que comprendes el concepto de tipos MIME y su importancia, pasemos a JSON.</p><h2 id="el-tipo-de-contenido-correcto-para-json"><strong>El tipo de contenido correcto para JSON</strong></h2><p>JSON tiene que ser interpretado correctamente por el navegador para ser utilizado adecuadamente. <code>text/plain</code>se usaba normalmente para JSON, pero según <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">IANA</a>, el tipo MIME oficial para JSON es <code>application/json</code>.</p><p>Esto significa que cuando envías JSON al servidor o recibes JSON del servidor, siempre debe estar declarado el <code>Content-Type</code> del encabezado, como <code>application/json</code> por ser el estándar que entienden el cliente y el servidor.</p><h2 id="conclusi-n"><strong>Conclusión</strong></h2><p>Como se indicó anteriormente, el servidor (al igual que el navegador) necesita saber el tipo de datos que se le envía, por ejemplo, en una solicitud POST. Esa es la razón por la que los <code>forms</code> con archivos suelen contener el atributo <code>enctype</code> con un valor de <code>multipart/form-data</code>.</p><p>Sin codificar la solicitud de esta manera, la solicitud POST no funcionará. Además, una vez que el servidor conoce el tipo de datos que ha obtenido, sabe cómo analizar los datos codificados.</p><p>En este artículo, analizamos qué son los tipos MIME y su propósito. Además, analizamos el tipo de contenido oficial para JSON. Espero que ahora sepas por qué es importante declarar los tipos de recursos cuando se usan en Internet.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Ejemplo de comentario en JSON: Como agregar comentarios en archivos JSON ]]>
                </title>
                <description>
                    <![CDATA[ Si has estado teniendo problemas para agregar comentarios a un archivo JSON, hay una buena razón: JSON no cuenta con soporte para comentarios. "Elimine los comentarios de JSON porque vi gente que los estaba usando para mantener directivas de parsing, una práctica que podría haber destruido la interoperabilidad", escribe Douglas ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-agregar-comentarios-en-archivos-json/</link>
                <guid isPermaLink="false">6320c7a9b1786008d5615924</guid>
                
                    <category>
                        <![CDATA[ Json ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ José A. Soto Hernández ]]>
                </dc:creator>
                <pubDate>Thu, 20 Oct 2022 22:17:23 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/09/abstract-art-blur-bright-373543.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo 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><em>Si has estado teniendo problemas para agregar comentarios a un archivo JSON, hay una buena razón: JSON no cuenta con soporte para comentarios.</em></p><p>"Elimine los comentarios de JSON porque vi gente que los estaba usando para mantener directivas de parsing, una práctica que podría haber destruido la interoperabilidad", escribe <a href="https://web.archive.org/web/20150105080225if_/https:/plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Douglas Crockford</a>, quien popularizo el formato de información basado en texto.</p><p>Sin embargo, existe una solución alternativa y de eso trata este artículo: como agregar comentarios a un archivo JSON.</p><h2 id="agregar-informaci-n-como-comentarios">Agregar información como comentarios</h2><p>Una manera de eludir el problema de los comentarios es agregar información que funcione como comentarios a tu archivo JSON.</p><p>Ahora veamos un ejemplo, iniciando con la siguiente información en nuestro archivo JSON:</p><pre><code class="language-json">{
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>Ahora agreguemos otro par clave-valor (key-value) que servirá como nuestro comentario, lo podemos ver en la primera línea de código del siguiente ejemplo:</p><pre><code class="language-json">{
   "_comentario1": "esto es un comentario",
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>A continuación, otro ejemplo. Esta vez, usaremos dos guiones bajos al inicio y al final de la clave (key).</p><pre><code class="language-json"> "__comentario2__": "esto es otro comentario",
</code></pre><p>Los guiones bajos ayudan a diferenciar el comentario del resto de nuestra información en el archivo JSON.</p><h3 id="solo-una-peque-a-advertencia">Solo una pequeña advertencia</h3><p>Solo hay un detalle importante a tener en cuenta.</p><p>Los comentarios que agregamos a nuestro archivo JSON están incluidos en el objeto JSON. En otras palabras, los comentarios son tratados como información.</p><p>Esto es a lo que nos referimos:</p><p>Este es el código en nuestro archivo, <strong><code>data.json</code></strong>:</p><pre><code class="language-json">{
   "_comentario1": "este es mi comentario",
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>Ahora vamos a leer la información del archivo, <strong><code>read_comments.py</code></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>El resultado incluye nuestro comentario:</p><pre><code class="language-json">{'_comentario1': 'este es mi comentario', 'sport': 'basketball', 'coach': 'Joe Smith', 'wins': 15, 'losses': 5}
</code></pre><p>Incluso podemos extraer el valor del comentario del objeto JSON: <code>este es mi comentario</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["_comentario1"])
</code></pre><p>Ten en cuenta que el comentario solo es un comentario para el desarrollador—no para la computadora.</p><h3 id="un-tipo-diferente-de-comentario">Un tipo diferente de comentario</h3><p>Esta práctica de agregar comentarios en archivos JSON es diferente a los comentarios en los lenguajes clásicos de programación, tal es el caso de Python, donde es normal que los comentarios sean ignorados cuando se ejecute el programa.</p><pre><code class="language-python"># Este es mi comentario
word = "house"
for letter in word:
   print(letter)
</code></pre><p>Cuando ejecutamos el programa Python anterior, obtenemos las letras de la palabra, "house". Pero aquí no vemos el comentario, ya que es ignorado.</p><h2 id="otras-opciones-para-comentar">Otras opciones para comentar</h2><p><a href="https://www.crockford.com/jsmin.html">JSMin</a> es otra opción para considerar.</p><p>JSMin es una herramienta que elimina los espacios en blanco y los comentarios adicionales de archivos JavaScript. Pero esta también funciona en archivos JSON. JSMin elimina comentarios de archivos JSON antes de que sean analizados (parsed).</p><p>Así que, como ya vimos, existen algunas opciones cuando se trata de agregar comentarios en archivos JSON. A pesar de que no sean las mejores soluciones, al menos existe la forma de incluir documentación para cuando sea necesario.</p><p><em>Escribo sobre como aprender a programar y las mejores formas de hacerlo <em>(</em></em><a href="https://amymhaddad.com/" rel="noopener nofollow">amymhaddad.com</a>).</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
