Строка 1, столбец 24
{/version,resource}- Переменная:
version· Определена - Переменная:
resource· Определена
Раскрытый фрагмент: /v1/search
URL / URI Tools
Введите один шаблон и объект JSON, чтобы увидеть URI и результат каждого выражения.
Шаблоны и переменные обрабатываются в этом браузере. Запросы по введённым и полученным адресам не отправляются.
Пропущенные переменные: Нет
Неиспользованные ключи JSON: Нет
Строка 1, столбец 24
{/version,resource}version · Определенаresource · ОпределенаРаскрытый фрагмент: /v1/search
Строка 1, столбец 43
{?q,page,tags*}q · Определенаpage · Определенаtags* · ОпределенаРаскрытый фрагмент: ?q=hello%20world&page=2&tags=red&tags=blue
Показано выражений: 2 из 2
RFC 6570, уровень 4: {var}, {+var}, {#var}, {.var}, {/var}, {;var}, {?var}, {&var}. :n ограничивает префикс, * раскрывает элементы списков и словарей.
Лимиты в единицах UTF-16: шаблон 16 384, JSON 65 536, результат 262 144; до 500 выражений.
Выражений: 2 · пропущено переменных: 0 · единиц в результате: 75
Косая черта внутри идентификатора и разделитель сегментов пути могут выглядеть одинаково, но требуют разного кодирования. Проверка шаблонов URI позволяет подставить реальные значения и заметить эту разницу до использования шаблона в API-клиенте.
Шаблоны URI описывают также списки, словари и необязательные значения. Подстановка переменных выполняется по RFC 6570. Можно вводить относительные ссылки и исследовать отдельный путь, не добавляя к нему вымышленный домен или протокол.
Проверка шаблонов URI связывает выражение с его позицией и полученным фрагментом. Если параметр исчез, проверьте, отсутствует ли переменная, равна ли она null или пустой коллекции. Пустая строка помечается отдельно: она считается определённым значением.
{?tags} собирает список в одно значение с запятыми. {?tags*} повторяет имя tags для каждого элемента. При раскрытии словаря используются ключи его членов. Подробности позволяют проверить эту структуру, не выискивая разделители в длинном адресе.
user.id обозначает ключ с полным именем "user.id", а не путь к вложенному объекту. Процентные последовательности в именах не декодируются. Регистр и написание в шаблоне должны совпадать с ключами JSON.
Пример зарезервированных символов сохраняет косые черты внутри пути. Составной пример показывает списки, словари и префиксы Unicode. Загрузка сначала открывает предпросмотр; после применения можно один раз вернуть прежние данные вместе с результатом.
Автоматическое раскрытие запускается через 350 мс после изменения. Отключите его для работы кнопкой или Ctrl/Cmd + Enter. Редактирование сразу блокирует копирование и скачивание старого результата до успешной обработки новых данных.
Проверка шаблонов URI поддерживает простое раскрытие и операторы +, #, ., /, ;, ?, &. :n берёт префикс длиной 1–9999 символов Unicode, а * раскрывает списки и словари по элементам. Процентное кодирование и разделители задаются оператором.
Числа JSON сохраняют исходную запись. Например, 9007199254740993 не преобразуется в число с плавающей точкой. Записи -0 и с показателем степени также остаются неизменными. Логические значения раскрываются как true или false. Исходный текст переменных сохраняется в отчёте.
Ошибки синтаксиса шаблона и JSON показывают строку и столбец. Повторяющиеся ключи отклоняются, вложенные значения указываются через JSON Pointer. Неопределённая переменная — диагностический случай, а не синтаксическая ошибка: её фрагмент может законно оказаться пустым.
Копирование возвращает только URI. JSON-отчёт содержит шаблон, исходный JSON переменных, все выражения и пропущенные либо неиспользованные имена. Интерфейс показывает по 50 выражений, но скачиваемый файл включает также ещё не показанные записи.
Скобки выражений оставляйте буквальными: /users/{id} содержит переменную. В /users/%7Bid%7D скобки уже являются закодированным литералом, поэтому подстановки не будет. Не кодируйте шаблон целиком заранее: значения кодирует выбранный оператор.
/ добавляет косую черту перед каждой определённой переменной, а для списка со * — перед каждым элементом. Простое раскрытие кодирует черты внутри значений. + сохраняет их, но сам новую черту не добавляет. Эти операции решают разные задачи.
Оператора для произвольного необязательного разделителя нет. Подготовьте одну строку с нужными словами: пробелы в ней превратятся в %20. Список со * использует разделитель своего оператора, например / или &, а не настраиваемый пробел.
Регулярное выражение не проверяет типы значений. Запись {items:3} может быть синтаксически допустима, но префикс нельзя применить, если items — список. Этот инструмент проверяет выражения вместе с JSON и показывает место ошибки.
RFC 6570 определяет раскрытие переменных в URI. Обратное восстановление может быть неоднозначным при нескольких переменных, зарезервированных символах или раскрытых словарях. Эта страница не извлекает параметры маршрута из URI; для этого нужен инструмент сопоставления маршрутов.
Нашли проблему?
Сравните путь или запрос с реальным объектом переменных и сохраните отчёт для текущего результата.
Один шаблон, один объект переменных, проверяемые фрагменты.