Documentos JSON en la vista Texto

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Guía y referencia del usuario > JSON y esquemas JSON >

Documentos JSON en la vista Texto

Sitio web de Altova: AltovaWebLink Editor JSON

 

Los esquemas JSON y documentos de instancia JSON/JSON5 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.

JSONTextViewFoldingMargins

El icono Expandir o contraer todos los plegamientos icToggleAllFolds 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.

JSONTextView

 

Color de sintaxis

Los documentos JSON (esquemas o instancias JSON), 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.

Clic para ampliar

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) se puede revisar con el comando XML | Comprobar formato XML (F7). El resultado de la revisión aparece en la ventana Mensajes (imagen siguiente).

JSONSyntaxCheck

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)  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.

 

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.

JSONAutoCompProperties

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.

JSONAutoCompEntryHelpers

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.

 


© 2019 Altova GmbH