extractjson()extractjson()

Recuperare un elemento specificato da un testo JSON usando un'espressione di percorso.Get a specified element out of a JSON text using a path expression.

Facoltativamente, convertire la stringa estratta in un tipo specifico.Optionally convert the extracted string to a specific type.

extractjson("$.hosts[1].AvailableMB", EventText, typeof(int))

SintassiSyntax

extractjson(jsonPath , origine dati)extractjson(jsonPath, dataSource)

ArgomentiArguments

  • jsonPath: jsonPath stringa che definisce una funzione di accesso nel documento JSON.jsonPath: JsonPath string that defines an accessor into the JSON document.
  • DataSource: documento JSON.dataSource: A JSON document.

RestituisceReturns

Questa funzione esegue una query JsonPath in dataSource che contiene una stringa JSON valida e, facoltativamente, la conversione di tale valore in un tipo diverso, a seconda del terzo argomento.This function performs a JsonPath query into dataSource which contains a valid JSON string, optionally converting that value to another type depending on the third argument.

EsempioExample

La [ ] notazione notazione e il punto () della parentesi . sono equivalenti:The [bracket] notatation and dot (.) notation are equivalent:

T 
| extend AvailableMB = extractjson("$.hosts[1].AvailableMB", EventText, typeof(int)) 

T
| extend AvailableMD = extractjson("$['hosts'][1]['AvailableMB']", EventText, typeof(int)) 

Espressioni di percorso JSONJSON Path expressions

Espressione di percorsoPath expression DescrizioneDescription
$ Oggetto radiceRoot object
@ Oggetto correnteCurrent object
. o [ ]. or [ ] FiglioChild
[ ] Indice inferiore di matriceArray subscript

(Attualmente non vengono implementati caratteri jolly, ricorsione, unione o sezioni).(We don't currently implement wildcards, recursion, union, or slices.)

Suggerimenti per incrementare le prestazioniPerformance tips

  • Applicare le clausole where prima di usare extractjson()Apply where-clauses before using extractjson()
  • È consigliabile usare una corrispondenza di espressione regolare con extract .Consider using a regular expression match with extract instead. L'esecuzione risulta molto più rapida ed è efficace se JSON è prodotto in base a un modello.This can run very much faster, and is effective if the JSON is produced from a template.
  • Usare parse_json() se è necessario estrarre più di un valore da JSON.Use parse_json() if you need to extract more than one value from the JSON.
  • Considerare la possibilità di analizzare JSON al momento dell'inserimento dichiarando il tipo della colonna come dinamico.Consider having the JSON parsed at ingestion by declaring the type of the column to be dynamic.