Путь
Выражение пути представляет собой последовательность сегментов, разделенных точками, которые определяют местоположение значения внутри объекта. Ведущая точка означает, что путь указывает на событие. Ведущий знак процента означает, что путь указывает на метаданные события.
Синтаксис
Список принятых обозначений
В данном разделе при описании выражений приняты следующие обозначения:
-
Элементы выражений разделены тильдой.
-
Круглые скобки служат для группировки элементов выражения.
-
Если в выражении используется литерал скобок или других символов, они заключаются в кавычки:
"("."NEWLINE"обозначает перевод строки. -
Квантификаторы после элементов и групп обозначают количество повторений:
-
?— элемент необязателен, может отсутствовать в выражении; -
+— элемент обязателен и может повторяться в выражении несколько раз; -
*— элемент может отсутствовать или повторяться несколько раз.
-
root_path ~ path_segments
| Элемент | Описание |
|---|---|
|
Корень пути, представленный одним из следующих символов:
|
|
Сегменты вложенного пути. Каждый сегмент должен быть отделен точкой в начале и может содержать латинские буквы в любом регистре, цифры и подчеркивания. Сегменты, содержащие символы вне этого диапазона, должны быть заключены в кавычки. |
| Используйте VRL-песочницу, чтобы проверить работу программы. |
Примеры путей
Пример корневого пути события
{
"message": "Hello, World!"
}
.
{
"message": "Hello, World!"
}
Пример корневого пути метаданных
{
"message": "Hello, World!"
}
%
{}
Пример пути верхнего уровня
{
"message": "Hello, World!"
}
.message
Hello, World!
Пример вложенного пути
{
"parent": {
"child": "Hello, World!"
}
}
.parent.child
Hello, World!
Пример объединения вложенных путей
{
"grand_parent": {
"parent2": {
"child": "Hello, World!"
}
}
}
.grand_parent.parent1.child || .grand_parent.parent2.child
Hello, World!
Пример пути в кавычках
{
"parent.key.with.special characters": {
"child": "Hello, World!"
}
}
."parent.key.with.special characters".child
Hello, World!
Пример пути к первому элементу массива
{
"массив": [
"первый",
"второй"
]
}
."массив"[0]
"первый"
Пример пути ко второму элементу массива
{
"массив": [
"первый",
"второй"
]
}
."массив"[1]
"второй"
Была ли полезна эта страница?