Свойство queryParameters
Свойство queryParameters класса Uri возвращает
параметры запроса (query string) в виде карты
Map<String, String>. Ключами карты являются имена
параметров, а значениями - их значения. Если в URL
присутствуют повторяющиеся параметры, в карту попадёт
только последнее значение. Для получения всех значений
повторяющихся параметров следует использовать свойство
queryParametersAll.
Синтаксис
uri.queryParameters
Пример
Давайте получим параметры запроса из URL и выведем их на экран:
void main()
{
Uri uri = Uri.parse('https://example.com/path?a=1&b=2&c=3');
Map<String, String> params = uri.queryParameters;
print(params);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3}
Пример
Давайте обратимся к конкретному параметру по его имени:
void main()
{
Uri uri = Uri.parse('https://example.com/path?name=abcde&id=12345');
Map<String, String> params = uri.queryParameters;
print(params['name']);
print(params['id']);
}
Результат выполнения кода:
"abcde"
"12345"
Пример
Давайте проверим, что произойдёт, если в URL присутствуют повторяющиеся параметры:
void main()
{
Uri uri = Uri.parse('https://example.com/path?a=1&a=2&a=3');
print(uri.queryParameters);
print(uri.queryParametersAll);
}
Результат выполнения кода:
{a: 3}
{a: [1, 2, 3]}
Пример
Давайте выведем количество параметров запроса
с помощью свойства length карты:
void main()
{
Uri uri = Uri.parse('https://example.com/path?a=1&b=2&c=3');
Map<String, String> params = uri.queryParameters;
print(params.length);
}
Результат выполнения кода:
3
Смотрите также
-
класс
Uri,
который представляет URL-адрес -
свойство
query,
которое возвращает строку запроса -
метод
parse,
который создаёт Uri из строки -
метод
encodeQueryComponent,
который кодирует параметры запроса