Guy Reginiano
Guy Reginiano

Reputation: 61

How to escape characters in dynamic fields with KQL

One of the inner values of my dynamic field contains "@". How can I escape the @? (need to escape the "fields.@version")

let Source = datatable (fields: dynamic) [
    dynamic({"seq":17300,"@version":"1"})
];
Source | project fields, fields.seq //, fields.@version

Upvotes: 0

Views: 2384

Answers (2)

David דודו Markovitz
David דודו Markovitz

Reputation: 44981

Dynamic object accessors

A qualified string (single quote / double quote / triple back-tick) within brackets.

let Source = datatable (fields: dynamic) [
    dynamic({"seq":17300,"@version":"1"})
];
Source 
| project fields['@version'], fields["@version"], fields[```@version```]
fields_@version fields_@version1 fields_@version2
1 1 1

Fiddle

Upvotes: 2

Guy Reginiano
Guy Reginiano

Reputation: 61

This seems to work:

let Source = datatable (fields: dynamic) [
    dynamic({"seq":17300,"@version":"1"})
];
Source | project fields, fields.seq , fields.['@version']

Are there any other options?

Upvotes: 1

Related Questions