Lección 9

Consultas con JSONPath

Extrae valores de documentos anidados mediante expresiones de ruta.

Cuando un documento JSON es grande, a menudo necesitas un solo campo sin recorrer mentalmente cada nivel. JSONPath es un lenguaje de consulta — similar en espíritu a XPath para XML — para seleccionar nodos en árboles JSON.

Documento de ejemplo

{
  "store": {
    "books": [
      { "title": "JSON 101", "price": 12.5 },
      { "title": "API Design", "price": 28 }
    ]
  }
}

Expresiones habituales

ExpresiónSignificado
$Raíz del documento
$.store.booksEl array books
$.store.books[0].titleTítulo del primer libro
$.store.books[*].priceTodos los precios
$..priceprice en cualquier lugar bajo la raíz

Lee $ como «empieza aquí», . como «propiedad hija», [n] como índice de array, [*] como cada elemento y .. como descenso recursivo.

Casos de uso

  • Extraer un ID de usuario de una respuesta de API anidada en tests o scripts
  • Filtrar eventos de log donde level == "error" en payloads heterogéneos
  • Documentar «dónde encontrar» campos en guías de integración

JSONPath frente a código manual

En JavaScript podrías escribir data.store.books[0].title. JSONPath brilla cuando:

  • La profundidad varía entre versiones de API
  • Consultas la misma ruta en config en muchos archivos
  • Las herramientas exponen un cuadro de ruta para inspección ad hoc

Limitaciones

Las implementaciones difieren ligeramente en extensiones (filtros, slices). En pipelines de producción, fija la versión de la biblioteca y añade tests para rutas críticas. JSONPath lee estructura — no corrige JSON inválido; parsea y valida primero.

Volver al resumen del curso