Altova XMLSpy 2024 Professional Edition 

Para hacer consultas en un documento JSON introduzca una expresión de consulta XPath/XQuery 3.1 en la ventana de resultados XPath/XQuery (imagen siguiente).

Click to expand/collapse

Para evaluar una expresión en un documento JSON siga estos pasos:

 

1.Seleccione el icono XPath 3.1 o el icono XQuery 3.1.

2.Asegúrese de que la ventana está en modo de evaluación JSON.

3.Introduzca la expresión XPath 3.1 o XQuery 3.1.

4.Haga clic en Iniciar evaluación (a la izquierda en la barra de herramientas).

 

Expresiones XQuery 3.1 para JSON

Las estructuras de datos JSON suelen usar objetos y matrices y usan el operador de búsqueda XQuery 3.1 ?, que se usa para ubicar nodos dentro de objetos (que básicamente son asignaciones desde la perspectiva de XQuery) y matrices JSON. Esta forma de ubicar nodos es distinta a la que usa expresiones de ruta de acceso para ubicar nodos en documentos XML. Es este caso, el operador barra / se usa para conectar pasos en una expresión de ruta de acceso (por ejemplo: items/*). En las expresiones XQuery para JSON, el operador barra no se usa para ubicar nodos.

 

Ejemplos de expresiones XQuery para JSON

 

?items?*

Significa: buscar el nodo secundario items y después buscar todos sus nodos secundarios. Observe que se espera que items sea un nodo secundario del nodo de contexto.

 

?Artists?1?Albums?2?Name

Significa: buscar el nodo secundario Artists y después buscar su primer nodo secundario. Dentro de ese nodo, buscar el nodo secundario Albums y después buscar el segundo nodo secundario de este. Devolver el nodo Name de ese segundo nodo secundario.

 

?Tracks?*[contains(?Writer, 'Brian')]

Significa: buscar el nodo secundario Tracks y después buscar todos sus secundarios. Mientras se buscan los secundarios, buscar los nodos secundarios de cada secundario Writer y seleccionar solamente los que contengan la cadena de texto 'Brian'. Observe que en esta expresión hay tres operadores de búsqueda. Cada uno se usa en un paso nuevo en el que se busca en un conjunto de nodos.

 

?Artists?*[?Name="Queen"]?Albums?*?Name

Significa: dentro del objeto raíz, buscar el nodo secundario Artists y después buscar todos sus secundarios cuyo nodo Name tiene el valor "Queen". Dentro de estos nodos, buscar todos los nodos secundarios Album y sus secundarios. Dentro de esos secundarios, buscar (y devolver) los respectivos nodos Name.En la imagen siguiente esta expresión se muestra en la ventana XPath/XQuery junto con la representación de la vista Cuadrícula JSON del documento JSON de destino.

 

inc-XQueryExpForJSON

 

Resultados para la evaluación JSON

En la parte izquierda del panel Resultados se muestran los componentes JSON seleccionados en negrita y el valor de cada componente aparece en la parte derecha del panel. En la imagen siguiente se muestran los resultados en negrita. La matriz está expandida para que se vea su contenido.

XPXQWindowJSON02

Los mapas y las matrices se muestran en un formato más o menos abreviado en función de si el icono de la barra de herramientas Mostrar resultado completo está activado o desactivado. Para expandir los mapas y las matrices de la parte izquierda del panel haga clic en sus respectivos iconos del signo "+".

 

© 2018-2024 Altova GmbH