Expresiones JSONPath
La notación JSONPath describe la ruta de acceso a uno o varios elementos de un documento JSON.
La notación JSONPath se usa en los escenarios siguientes:
- Para especificar asignaciones de datos para la ingesta
- Para especificar asignaciones de datos para tablas externas
- En Lenguaje de consulta Kusto (KQL) funciones que procesan objetos dinámicos, como bag_remove_keys() y extract_json()
Se admite el siguiente subconjunto de la notación JSONPath:
Expresión de ruta de acceso | Descripción |
---|---|
$ |
Objeto raíz |
. |
Selecciona la propiedad especificada en un objeto primario. Utilice esta notación si la propiedad no contiene caracteres especiales. |
['property'] o ["property"] |
Selecciona la propiedad especificada en un objeto primario. Asegúrese de colocar comillas simples o comillas dobles alrededor del nombre de la propiedad. Use esta notación si el nombre de propiedad contiene caracteres especiales, como espacios, o comienza con un carácter distinto de A..Za..z_ . |
[n] |
Selecciona el elemento n-th de una matriz. Los índices se basan en 0. |
Nota
No se admiten caracteres comodín, recursividad, unión, segmentos y objeto actual.
Ejemplo
Dado el siguiente documento JSON:
{
"Source": "Server-01",
"Timestamp": "2023-07-25T09:15:32.123Z",
"Log Level": "INFO",
"Message": "Application started successfully.",
"Details": {
"Service": "AuthService",
"Endpoint": "/api/login",
"Response Code": 200,
"Response Time": 54.21,
"User": {
"User ID": "user123",
"Username": "kiana_anderson",
"IP Address": "192.168.1.100"
}
}
}
Puede representar cada uno de los campos con notación JSONPath como se indica a continuación:
"$.Source" // Source field
"$.Timestamp" // Timestamp field
"$['Log Level']" // Log Level field
"$.Message" // Message field
"$.Details.Service" // Service field
"$.Details.Endpoint" // Endpoint field
"$.Details['Response Code']" // Response Code field
"$.Details['Response Time']" // Response Time field
"$.Details.User['User ID']" // User ID field
"$.Details.User.Username" // Username field
"$.Details.User['IP Address']" // IP Address field
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de