Параметры и их настройки
Свойство | Описание | Тип | Пример | Обязательность |
|---|---|---|---|---|
| Параметры | ||||
| Исходный JSON | Текст в формате JSON, в котором необходимо удалить данные. Должен быть валидным JSON-документом. Пустая строка или невалидный JSON вызовут ошибку валидации. | JSON | { "id": 67890, "name": "Рик Санчез", "email": "rick@example.com", "isActive": true, "subscriptions": ["web", "mobile"] } | Да |
| JSONPath | Выражение JSONPath для указания узлов, которые необходимо удалить (например, $.items[?(@.price > 100)]). Поддерживает стандартный синтаксис JSONPath (Newtonsoft.Json). Оператор contains не поддерживается; используйте [*] == для массивов и =~ для строк. | Строка | $.subscriptions[1] | Да |
| Результаты | ||||
Результат | Измененная JSON-строка после удаления указанных узлов. | JSON | { "id": 67890, "name": "Рик Санчез", "email": "rick@example.com", "isActive": true, "subscriptions": ["web"] } | - |
Особые условия использования
Примеры корректных выражений JSONPath
(Больше примеров – в действии «Получить значение из JSON»)
| Сценарий | Желаемый синтаксис (не работает) | Рабочий синтаксис (Newtonsoft.Json) |
|---|---|---|
| Удаление элемента из массива по значению | $.items[?(@.tags contains 'sale')] | $.items[?(@.tags[*] == 'sale')] |
| Удаление объектов по подстроке в поле | $.users[?(@.name contains 'test')] | $.users[?(@.name =~ /test/i)] |
Исключения
| Исключение | Событие | Описание ошибки в логе |
|---|---|---|
| Robin.Exception.ValidationError | Входная строка параметра «Исходный JSON» не является корректным JSON-документом. | Обрабатываемый JSON некорректен. |
| Robin.Exception.ValidationError | Выражение в параметре «JSONPath» содержит синтаксическую ошибку. | JSONPath содержит синтаксическую ошибку: <текст исключения от библиотеки-парсера> |
| Robin.Exception.ValidationError | Ошибка компиляции регулярного выражения в фильтре JSONPath. | Некорректное регулярное выражение в JSONPath: <текст ошибки> |
| Robin.Exception.JSONException | Критическая ошибка внутреннего движка при модификации структуры. | Внутренняя ошибка обработки JSONPath: <текст ошибки> |
| Robin.Exception.ElementNotFound | Выражение JSONPath синтаксически верно, но не нашло ни одного узла для удаления. | Элементы по пути не найдены. |
Изменения в версии
- Параметр «JSONPath» теперь принимает на вход JSONPath, а не JSON Pointer.
Обзор
Инструменты контента