Перейти к основному содержимому

Разделять массивы в URL

Определяет представление массивов в параметрах URL: как цельный JSON массив или отдельные параметры для каждого элемента

Функция РазделятьМассивыВURL(Знач Флаг, Знач КвадратныеСкобки = Неопределено) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Флаг-БулевоПризнак деления массива на отдельные параметры URL
КвадратныеСкобки-БулевоДобавлять к ключам пустые скобки в стиле PHP (key[]=value), если Флаг = Истина

Возвращаемое значение: ОбработкаОбъект.OPI_HTTPКлиент - Этот же объект обработки


подсказка

По умолчанию массивы интерпретируются как единый параметр с JSON массивом в значении

По умолчанию квадратные скобки к ключам параметров при разделении массива не устанавливаются

предупреждение

NOCLI: данный метод недоступен для использования в CLI версии


Пример использования для 1С:Предприятие/OneScript
    URL = "https://httpbin.org";
URL = URL + "/get";

ПараметрМассив = Новый Массив;
ПараметрМассив.Добавить("val1");
ПараметрМассив.Добавить("val2");
ПараметрМассив.Добавить("val3");

СтруктураПараметров = Новый Структура("arrayfield", ПараметрМассив);

Разделение = OPI_ЗапросыHTTP.НовыйЗапрос()
.Инициализировать("https://example.com/page")
.УстановитьПараметрыURL(СтруктураПараметров)
.РазделятьМассивыВURL(Истина) // <---
.ОбработатьЗапрос("GET", Ложь)
.ВернутьЗапрос()
.АдресРесурса;

РазделениеPhp = OPI_ЗапросыHTTP.НовыйЗапрос()
.Инициализировать("https://example.com/page")
.УстановитьПараметрыURL(СтруктураПараметров)
.РазделятьМассивыВURL(Истина, Истина) // <---
.ОбработатьЗапрос("GET", Ложь)
.ВернутьЗапрос()
.АдресРесурса;

БезРазделения = OPI_ЗапросыHTTP.НовыйЗапрос()
.Инициализировать("https://example.com/page")
.УстановитьПараметрыURL(СтруктураПараметров)
.ОбработатьЗапрос("GET", Ложь)
.ВернутьЗапрос()
.АдресРесурса;
Результат
"Без разделения: /page?arrayfield=[val1,val2,val3];\nРазделение: /page?arrayfield=val1&arrayfield=val2&arrayfield=val3\nРазделение (php): /page?arrayfield[]=val1&arrayfield[]=val2&arrayfield[]=val3"