Руководство

Как извлечь значения из JSON по пути

Вставьте JSON, укажите путь с точкой, wildcard, индексом или диапазоном и запустите извлечение. Успешный результат покажет найденные значения, их количество и переданный путь, а пустой ввод даст успешный результат без совпадений.

Инструмент Проверка JSON Path

Что проверяет инструмент

JSON Path Tester помогает проверить, какие значения можно получить из JSON с помощью пути. Это удобно, когда нужно быстро обратиться к свойству объекта, пройти по значениям через wildcard или выбрать элементы списка по индексу либо диапазону. Инструмент принимает JSON как текст и отдельное текстовое выражение пути, поэтому не требуется заранее преобразовывать данные в другой формат.

Путь задаёт направление поиска внутри структуры. Точечная запись подходит для последовательности свойств объекта, wildcard позволяет пройти по значениям объекта или элементам списка, а квадратные скобки используются для индексов и диапазонов индексов списка. Поддерживаемый набор синтаксиса ограничен этими формами: не следует считать его реализацией полного стандарта JSONPath.

Для проверки подготовьте небольшой фрагмент JSON и путь к нужному месту. Если задача связана с массивом, заранее определите, нужен ли один индекс, несколько элементов диапазона или проход по элементам через wildcard. Такой подход помогает отделить ошибку в исходном JSON от ошибки в самом пути.

Как выполнить извлечение

  1. Вставьте JSON в поле ввода. Используйте корректный JSON-текст с двойными кавычками у имён свойств. Например: {"profile":{"name":"Анна"},"orders":[{"id":101},{"id":102}]}. Ввод необязателен, но пустая или состоящая только из пробелов строка не даст совпадений.

  2. Введите путь в отдельное поле. Для свойства используйте запись с точкой, например profile.name. Для элемента списка применяйте квадратные скобки с индексом, а для отрезка списка укажите диапазон в поддерживаемой форме. Wildcard подходит, когда нужно пройти по значениям объекта или элементам списка. Не смешивайте произвольные обозначения из других реализаций JSONPath с поддерживаемыми формами.

  3. Запустите проверку. При непустом JSON и непустом пути инструмент пытается выполнить извлечение. Если JSON корректен и путь обработан нормально, результат считается успешным даже тогда, когда совпадений нет.

  4. Посмотрите на результат. Для успешного извлечения отображаются найденные значения, их количество и переданный путь. Сопоставьте значения со структурой исходного JSON: так проще понять, обратился ли путь к свойству объекта, к элементу списка или к нескольким элементам.

  5. Если проверка завершилась неуспешно, сначала проверьте JSON. Когда и JSON, и путь содержат символы, отличные от пробелов, некорректный JSON приводит к неуспешному результату. Затем проверьте синтаксис пути. Пустой или пробельный путь обрабатывается раньше и возвращает успешный результат без совпадений, поэтому такой результат не означает, что данные были найдены. Для квадратных скобок перепроверьте индекс и диапазон: отдельные ошибочные формы могут завершить извлечение без обычной структуры результата.

Как читать результат и учитывать границы

Успешный результат с одним или несколькими значениями означает, что заданный путь был обработан и совпадения найдены. Количество помогает отличить обращение к одному свойству от wildcard или диапазона, которые могут вернуть несколько элементов. Переданный путь в результате полезно сверить с тем, что было введено: при нескольких последовательных проверках это снижает риск перепутать результаты.

Успешный результат без значений имеет другое значение: JSON и путь могли быть обработаны, но указанное место не найдено. Проверьте написание имён свойств, регистр символов, уровень вложенности и индекс списка. Пустой JSON или пустой путь также дают успешное завершение без совпадений, поэтому сначала убедитесь, что оба поля действительно заполнены.

Неуспешный результат при непустых JSON и пути обычно требует проверки синтаксиса JSON, прежде всего кавычек, скобок, запятых и закрывающих символов. Некорректные выражения с индексами или диапазонами нельзя трактовать одинаково: для некоторых форм обычная структура результата не формируется. Поэтому при неожиданном поведении упростите путь до обращения к одному свойству, проверьте исходный текст, а затем добавляйте wildcard, индекс или диапазон по одному.

Инструмент показывает результат извлечения, а не объяснение смысла найденных данных. Если несколько значений выглядят неожиданно, анализируйте структуру JSON и выбранный путь отдельно. Проверяйте на небольшом фрагменте, который сохраняет нужную вложенность: так легче установить границу между отсутствующим свойством, неверным индексом и некорректным документом.

Практический пример

Разработчик проверяет, что путь к имени пользователя проходит через объект profile в небольшом JSON-документе.

Вставьте JSON с объектом profile и свойством name, укажите путь profile.name и запустите извлечение.

Успешный результат с найденным значением «Анна», количеством найденных значений 1 и переданным путём profile.name.

Ограничения

  • Поддерживается установленный набор форм пути, а не полный стандарт JSONPath. Поведение некоторых ошибочных выражений с индексами и диапазонами не сводится к обычному неуспешному результату.

Частые ошибки

  • Причина: в поле находится некорректный JSON или путь содержит ошибочный индекс, диапазон либо неподдерживаемую форму. Исправление: проверьте скобки, кавычки и запятые в JSON, затем упростите путь до точечной записи к одному свойству и добавляйте остальные элементы постепенно.

Частые вопросы

Покажет ли инструмент значение свойства из JSON?

Да, если JSON корректен, путь обработан нормально и нужное значение существует. При успешной проверке отображаются найденные значения, их количество и переданный путь. Если путь не находит место в структуре, результат остаётся успешным, но без совпадений.

Можно ли получить элементы массива по индексу или диапазону?

Для списка поддерживаются выражения с индексами и диапазонами, а wildcard может проходить по элементам списка. Не используйте синтаксис, который выходит за пределы этих поддерживаемых форм.

Что произойдёт при пустом JSON или ошибочном пути?

Если JSON и путь непустые, некорректный JSON приводит к неуспешному результату. Если JSON или путь пусты либо содержат только пробелы, проверка завершается успешно без совпадений. Ошибочные формы пути с индексами и диапазонами могут не дать обычную структуру результата.

Инструмент

Проверка JSON Path