Expressões JSONPath
A notação JSONPath descreve o caminho para um ou mais elementos num documento JSON.
A notação JSONPath é utilizada nos seguintes cenários:
- Para especificar mapeamentos de dados para ingestão
- Para especificar mapeamentos de dados para tabelas externas
- No Linguagem de Pesquisa Kusto (KQL) funções que processam objetos dinâmicos, como bag_remove_keys() e extract_json()
É suportado o seguinte subconjunto da notação JSONPath:
Expressão de caminho | Description |
---|---|
$ |
Objeto raiz |
. |
Seleciona a propriedade especificada num objeto principal. Utilize esta notação se a propriedade não contiver carateres especiais. |
['property'] ou ["property"] |
Seleciona a propriedade especificada num objeto principal. Certifique-se de que coloca plicas ou aspas à volta do nome da propriedade. Utilize esta notação se o nome da propriedade contiver carateres especiais, como espaços, ou começar com um caráter diferente de A..Za..z_ . |
[n] |
Seleciona o n-th elemento de uma matriz. Os índices são baseados em 0. |
Nota
Os carateres universais, a recursão, a união, os setores e o objeto atual não são suportados.
Exemplo
Dado o seguinte 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"
}
}
}
Pode representar cada um dos campos com notação JSONPath da seguinte forma:
"$.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
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários