Expresiones XQuery para JSON
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).
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.
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.
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 "+".