Si tiene problemas para agregar comentarios a su archivo JSON, hay una buena razón: JSON no admite comentarios.
"Eliminé los comentarios de JSON porque vi que la gente los usaba para mantener directivas de análisis, una práctica que habría destruido la interoperabilidad", escribe Douglas Crockford, quien popularizó el formato de datos basado en texto.
Sin embargo, hay una solución. Y de eso trata este artículo: cómo agregar comentarios a su archivo JSON.
Agregar datos como comentarios
Una forma de evitar el problema de los comentarios es agregar datos a su archivo JSON que funcionan como comentarios.
Veamos un ejemplo, comenzando con esta información en nuestro archivo JSON:
{ "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 }
Ahora agreguemos otro par clave-valor para que sirva como comentario, que puede ver en la primera línea del código a continuación:
{ "_comment1": "this is my comment", "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 }
He aquí otro ejemplo. Esta vez, usamos dos guiones bajos al principio y al final de la clave:
"__comment2__": "this is another comment",
Los guiones bajos ayudan a diferenciar el comentario del resto de los datos de nuestro archivo.
Una palabra de precaución
Hay un detalle importante a tener en cuenta.
Los comentarios que agregamos a nuestro archivo JSON se incluyen en el objeto JSON. En otras palabras, los comentarios se tratan como datos.
Esto es lo que queremos decir.
Este es el código de nuestro archivo data.json
:
{ "_comment1": "this is my comment", "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 }
Ahora vamos a leer esos datos del archivo read_comments.py
:
import json with open("data.json", mode="r") as j_object: data = json.load(j_object) print(data)
El resultado incluye nuestro comentario:
{'_comment1': 'this is my comment', 'sport': 'basketball', 'coach': 'Joe Smith', 'wins': 15, 'losses': 5}
Incluso podemos extraer el valor del comentario del objeto JSON this is my comment
:
import json with open("data.json", mode="r") as j_object: data = json.load(j_object) print(data["_comment1"])
Tenga en cuenta que el comentario es solo un comentario a los ojos del desarrollador, no a la computadora.
Un tipo diferente de comentario
Esta práctica de comentarios JSON es diferente de los comentarios en lenguajes de programación, como Python, que normalmente se ignoran cuando se ejecuta el programa.
# Here's my comment word = "house" for letter in word: print(letter)
Cuando ejecutamos el programa Python anterior, obtenemos las letras de la palabra "casa". Pero no vemos el comentario. Se ignora.
Opciones de comentarios
JSMin es otra opción a considerar.
Es una herramienta que elimina los espacios en blanco y los comentarios adicionales de los archivos JavaScript. Pero también funciona con archivos JSON. JSMin elimina los comentarios de los archivos JSON antes de que se analicen.
Entonces, hay opciones cuando se trata de comentar en archivos JSON. Aunque no son soluciones perfectas, al menos hay formas de incluir la documentación que necesita cuando la necesita.
Escribo sobre aprender a programar y las mejores formas de hacerlo ( amymhaddad.com).