Expresiones XQuery para JSON
Se pueden consultar documentos JSON y YAML con expresiones XPath/XQuery 3.1 en la ventana de resultados XPath/XQuery (imagen siguiente).
Para evaluar una expresión en un documento JSON o YAML 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?*
Esto significa: Buscar el nodo secundario items y luego buscar todos sus nodos secundarios. Observe que se espera que items sea un nodo secundario del nodo de contexto.
?Artists?1?Albums?2?Name
Esto significa: Buscar el nodo secundario Artists y luego buscar su primer nodo secundario. Dentro de ese nodo, buscar el nodo secundario Albums y después buscar su segundo nodo secundario. Devolver el nodo Name de ese segundo nodo secundario.
?Tracks?*[contains(?Writer, 'Brian')]
Esto significa: Buscar el nodo secundario Tracks y luego 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
Esto significa: Dentro del objeto raíz, buscar el nodo secundario Artists y luego buscar todos sus secundarios que tengan el nodo Name con el valor "Queen". Dentro de estos nodos, buscar todos los nodos secundarios Album y sus secundarios. Dentro de estos secundarios, buscar (y devolver) los nodos Nombre respectivos. En la imagen siguiente, puede ver esta expresión en la ventana XPath/XQuery junto con la representación de la vista Cuadrícula JSON del documento JSON de destino.

Panel de resultados para la evaluación JSON/YAML
En el panel de resultados (imagen siguiente), aparecen en negrita los componentes JSON del resultado de la evaluación y, a su derecha, el valor del componente. 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 formato abreviado o detallado en función de si el icono Mostrar resultado completo de la barra de herramientas está desactivado o activado. Para expandir los mapas y las matrices de la parte izquierda del panel haga clic en sus respectivos iconos del signo "+".