Split arrays in URL
Defines the representation of arrays in URL parameters: as a whole JSON array or separate parameters for each element
Function SplitArraysInURL(Val Flag, Val SquareBrackets = Undefined) Export
Parameter | CLI option | Type | Required | Description |
---|---|---|---|---|
Flag | --split | Boolean | ✔ | Flag for dividing the array into individual URL parameters |
SquareBrackets | --php | Boolean | ✖ | Add PHP style empty brackets to keys (key[]=value) if Flag = True |
Returns: DataProcessorObject.OPI_HTTPClient - This processor object
tip
By default, arrays are interpreted as a single parameter with JSON array in value
By default, square brackets to parameter keys are not set when array splitting is performed
1C:Enterprise/OneScript code example
URL = "https://httpbin.org";
URL = URL + "/get";
ArrayParam = New Array;
ArrayParam.Add("val1");
ArrayParam.Add("val2");
ArrayParam.Add("val3");
ParametersStructure = New Structure("arrayfield", ArrayParam);
Separation = OPI_HTTPRequests.NewRequest()
.Initialize("https://example.com/page")
.SetURLParams(ParametersStructure)
.SplitArraysInURL(True) // <---
.ProcessRequest("GET", False)
.ReturnRequest()
.ResourceAddress;
SeparationPhp = OPI_HTTPRequests.NewRequest()
.Initialize("https://example.com/page")
.SetURLParams(ParametersStructure)
.SplitArraysInURL(True, True) // <---
.ProcessRequest("GET", False)
.ReturnRequest()
.ResourceAddress;
NoSeparation = OPI_HTTPRequests.NewRequest()
.Initialize("https://example.com/page")
.SetURLParams(ParametersStructure)
.ProcessRequest("GET", False)
.ReturnRequest()
.ResourceAddress;
Result
"No separation: /page?arrayfield=[val1,val2,val3];\nSeparation: /page?arrayfield=val1&arrayfield=val2&arrayfield=val3\nSeparation (php): /page?arrayfield[]=val1&arrayfield[]=val2&arrayfield[]=val3"