Documentos JSON en la vista Texto
Sitio web de Altova: Editor JSON
Los esquemas JSON, esquemas Avro y documentos de instancia JSON/JSON5 (incluidas las instancias de datos Avro en formato JSON) se pueden editar con las funciones de edición inteligentes de la vista Texto. Entre estas funciones se encuentran los márgenes de plegamiento de código, el marcado estructural, el color de sintaxis, la revisión sintáctica y la finalización automática. XMLSpy también incluye una función de conversión de datos JSON/JSON5 en XML y viceversa y una función para generar esquemas JSON a partir de instancias JSON/JSON5.
Márgenes de plegamiento de código
El plegamiento de código se habilita en palabras clave y definiciones JSON y sirve para expandir y contraer estos nodos, que se marcan con el signo +/- (imagen siguiente). El margen de plegamiento de código puede activarse/desactivarse en el cuadro de diálogo Configurar la vista Texto. Cuando un nodo está contraído, aparecen puntos suspensivos junto al nodo. Si pasamos el puntero por encima de los puntos suspensivos, aparece un recuadro con el contenido del nodo contraído. Si el contenido no cabe en el recuadro, aparecen puntos suspensivos al final del texto.
El icono Expandir o contraer todos los plegamientos de la barra de herramientas Texto sirve para expandir o contraer todos los nodos del documento.
Estas son las opciones que ofrece el icono +/- que aparece en el margen de plegamiento:
Clic [-] | Contrae el nodo. |
Clic [+] | Expande el nodo de modo que sus descendientes aparezcan expandidos o contraídos, dependiendo de cual fuera su estado antes de que se contrajera el nodo. |
Mayús+Clic [-] | Contrae todos los nodos descendientes, pero deja expandido el nodo en el que se hizo clic. |
Ctrl+Clic [+] | Expande el nodo en el que se hizo clic y todos sus nodos descendientes. |
Marcado estructural
El par de llaves o corchetes que delimitan los objetos y las matrices JSON se marca en negrita (imagen siguiente) cuando colocamos el cursor antes o después de una llave o de un corchete. Esto sirve para señalar con claridad donde empieza y termina la definición del elemento.
Color de sintaxis
Los documentos JSON (esquemas o instancias JSON o Avro), así como los documentos JSON5, están compuestos por cadenas de objetos, cadenas de valor, operadores, números y palabras clave. En la vista Texto cada una de estas categorías de elementos puede presentarse con un color diferente (imagen siguiente), dependiendo de la configuración elegida en el cuadro de diálogo Opciones (imagen siguiente). La configuración del color de sintaxis se puede modificar en la sección Fuentes y colores: Vista Texto de este cuadro de diálogo. Basta con seleccionar la opción JSON en el cuadro combinado situado en la esquina superior izquierda y seleccionar el color correspondiente para cada elemento JSON en el panel Estilo.
Nota: la sintaxis JSON5 (al contrario de la sintaxis JSON) admite el uso de comentarios. En JSON5 los comentarios se delimitan así: // comentario // o /* comentario */.
Color de sintaxis
La sintaxis de los documentos JSON (instancias o esquemas JSON o Avro) se puede revisar con el comando XML | Comprobar formato XML (F7). El resultado de la revisión aparece en la ventana Mensajes (imagen siguiente).
En el mensaje de error podemos ver que se utilizó un espacio en una posición del documento donde se esperaba una coma o una llave.
Finalización automática
La finalización automática se habilita si el documento JSON (instancia o esquema JSON o Avro) que estamos editando tiene asociado un esquema.
•Si el documento es un esquema JSON, entonces la finalización automática se basa en la versión del esquema indicada por la palabra clave $schema. Para más información consulte también el apartado Versión del esquema JSON.
•Si el documento es una instancia JSON/JSON5, debe tener asociado un esquema JSON para que la finalización automática funcione.
•Si el documento es un documento de datos Avro en formato JSON, entonces debe tener asociado un esquema Avro para que la finalización automática funcione.
•Si el documento es un esquema Avro, entonces se asocia automáticamente con el esquema para Avro Schema y la finalización automática se basa en dicho esquema.
La finalización automática sugiere opciones de entrada correctas en la posición del cursor. Estas opciones aparecen en (i) recuadros emergentes en la ventana principal y (ii) en los ayudantes de entrada (imagen siguiente). Tanto los recuadros emergentes como los ayudantes de entrada incluyen una lista con todas las opciones de entrada que son válidas en la posición donde está el cursor. Para navegar por la lista de opciones basta con usar las teclas de dirección. Si el esquema contiene una descripción de una entrada (en la palabra clave description de la entrada), ésta aparece junto a la entrada resaltada. Para insertar una entrada basta con seleccionarla en el recuadro emergente o hacer doble clic en ella en el ayudante de entrada.
Por ejemplo, la imagen anterior muestra la edición de un documento de instancia. El recuadro emergente y el ayudante de entrada Propiedades JSON aparecen cuando colocamos el cursor después de las comillas que indican el inicio del nombre de una propiedad. El ayudante de entrada muestra todas las propiedades que se permiten en esa posición. Las propiedades que ya se han utilizado aparecen en gris y están deshabilitadas. El recuadro emergente muestra solamente las propiedades que se permiten en esa posición.
La vista ofrece dos ayudantes de entrada más: Valores JSON y Entidades JSON (imagen siguiente), que muestran respectivamente los valores permitidos de los pares clave:valor y las entidades necesarias para escapar los caracteres de las cadenas JSON. Por ejemplo, en la imagen siguiente, el ayudante de entrada Valores JSON muestra los valores permitidos para la palabra clave type. La última entrada del ayudante Entidades JSON, \u00FF, es un marcador de posición que representa un carácter Unicode. Basta con reemplazar la parte señalada en azul con el código del carácter Unicode que desee utilizar.
Además, si el esquema especifica enumeraciones, descripciones, número de repeticiones obligatorias y valores predeterminados, estos elementos también serán sugeridos por la finalización automática.
Guardar una cadena cifrada en base 64 como imagen
Para guardar una cadena cifrada en base 64 en formato imagen haga clic con el botón derecho del ratón en el tecto cifrado y seleccione el comando Guardar como imagen. En el cuadro de diálogo que aparece, seleccione la ubicación donde quiere guardar la imagen y asigne un nombre al archivo de imagen. La extensión del archivo (.png, .gif, .svg, etc.) se detecta automáticamente en el cifrado en base 64 y aparece en el cuadro de diálogo Guardar. Haga clic en Guardar para terminar.
También puede ejecutar esta acción con el comando de menú Edición | Guardar como imagen.