Como Comentar en un Documento de JSON


Lamentablemente, JSON no admite el uso de comentarios, y este es un hecho muy decepcionante, especialmente para los que queremos que otros aprendan más sobre el programa que estamos desarrollando.


Esta decisión fue tomada por su diseñador Douglas Crockford porque la gente los usaba para mantener las directivas de análisis.


No tener formas de usar comentarios en JSON no significa necesariamente que no está disponible; aquí hay una técnica común sugerida por Douglas Crockford para anotar en su JSON:

Suponga que está utilizando JSON para guardar los archivos de configuración, que desea anotar. Inserta todos los comentarios que te gusten. Luego canaliza a través de JSMin antes de entregarlo a su analizador JSON.




Y si esto no es suficiente aquí hay un ejemplo:


Una demostración rápida con Python 2.7

1. Cree un archivo de configuración de JSON no válido usando la cadena de comentario / ** / Vea el ejemplo a continuación.
2. Instale jsmin usando ~> pip jsmin
3. Pruebe la minificación
~> Python -m jsmin 'C:\Temp\config.json'
4. Cree el script a continuación y ejecútalo.

Ejemplo comentado JSON no válido
{
"rabbitmq":{/*Empieza RabbitMQ ajustes*/
    "virtual_host" :"/", /*Int of AMQP canal_max valor*/
    "canal_max" :"None", 
    "frame_max" :"None", /*Int of AMQP frame_max valor
  }
}

Script para Minificar en Python

#!/usr/bin/python
from jsmin import jsmin
import json

with open('c:\\Temp\\config.json') as _invalidJSON:
    raw = _invalidJSON.read();

print raw

with open('c:\\Temp\\config.json') as _invalidJSON:
    config = jsmin(_invalidJSON.read());

print config
print type(config)

validJSON = json.loads(config)

print validJSON
print type(validJSON)
print validJSON['rabbitmq']['exchange_type']

Resultado de la Minificación

python -m jsmin 'C:\Temp\config.json'
{"rabbitmq":

{"virtual_host":"/","channel_max":"None","frame_max":"None","exchange_type":"fanout"}}

Vale la pena señalar que aunque la especificación JSON no incluye soporte para comentarios en su versión final (borradores anteriores), muchos / la mayoría de los decodificadores JSON realmente admiten el uso de los denominados comentarios de estilo C y C ++. Es decir, / * ... * / y // .
¿Crees que es un error no poder poner comentarios? ¿Conoces otra técnica para agregar comentarios en JSON? Déjalo en los comentarios.

No hay comentarios:

Publicar un comentario