matlab.net. Класс QueryParameter

Пакет: matlab.net

Параметр во фрагменте запроса унифицированного идентификатора ресурса (URI)

Описание

Используйте класс QueryParameter, чтобы создать строку запроса URI формы:

name1=value1&name2=value2&name3=value3

где каждый сегмент name=value является объектом QueryParameter, преобразованным в строку с помощью метода string. Метод string на векторе объектов QueryParameter соединяет результаты с помощью символа &. Метод string преобразовывает любые значения в строки и выполняет все необходимое кодирование специальных символов в результате.

Конструкция

obj = matlab.net.QueryParameter создает пустой параметр запроса.

obj = matlab.net.QueryParameter(paramName,paramValue) создает вектор параметра запроса paramName, аргументов пары paramValue. Можно задать несколько пар аргумента в любом порядке как paramName1,paramValue1,...,paramNameN,paramValueN.

пример

obj = matlab.net.QueryParameter(qStruct) создает вектор параметра запроса из структуры.

пример

obj = matlab.net.QueryParameter(queryStr) синтаксические анализы queryStr в запрос.

obj = matlab.net.QueryParameter(___,Format) задает формат, который будет использоваться для нескалярных значений и может включать любой из входных параметров в предыдущих синтаксисах.

Входные параметры

развернуть все

Название параметра, заданное как строка или вектор символов.

Значение параметров, заданное как тип, требуется paramName.

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

Типы данных: struct

Названия параметра и значения, заданные как строка или вектор символов. queryStr является завершенным, закодированным запросом, как это появилось бы в URI с дополнительным ведущим символом ?.

queryStr разделен в символах & в отдельные параметры запроса name=value. Свойство Name установлено в name, и свойство Value установлено в value.

Триплет символов формы % и две шестнадцатеричных цифры представляет закодированный процентом байт. Последовательность этих байтов обработана, когда UTF-8 закодировал символы, которые декодируются, чтобы сформировать свойства Name и Value QueryParameters. Кроме того, любой знак "плюс" '+' в queryStr обработан как пробел '%20'. Когда QueryParameter преобразован назад в строку, любое необходимое кодирование процента выполняется только на символах, которые должны быть закодированы. Это действие сделано, были ли те символы первоначально закодированы в queryStr, таким образом, результат метода string не может точно совпадать с queryStr. Значение, однако, является тем же самым, когда используется в URI.

Например, UTF-8, кодирующие за евро, подписываются, € является E2 82 AC.

q1 = matlab.net.QueryParameter('V=%e2%82%ac')
q1 = 

  QueryParameter with properties:

      Name: "V"
     Value: "€"
    Format: csv

+ и символы %20 обработаны как пробелы.

q2 = matlab.net.QueryParameter('V=a+b%20c')
q2 = 

  QueryParameter with properties:

      Name: "V"
     Value: "a b c"
    Format: csv

Метод string реализует кодирование процента на символах, которые требуют кодирования. Например, закодирован.

string(q1)
ans = V=%E2%82%AC

Однако символам в аргументе queryStr 'V=a+b%20c' не нужно кодирование.

q3 = string(q2)
q3 = V=a+b+c

Несмотря на то, что результат метода string не совпадает с queryStr, значения идентичны, когда используется в URI.

Свойства

развернуть все

Название параметра, заданное как строка или вектор символов.

Значение параметров, заданное как вещественное число, логическое, datetime (со значением кроме NaT), строка, вектор символов, или вектор или вектор ячейки этих значений. Если Value является каким-либо другим типом, то Value должен поддержать string или методы char, которые преобразовывают значение в вектор символов. Если пустой, Value обработан как пустая строка.

Формат кодировки, заданный как перечисление matlab.net.ArrayFormat, чтобы использовать для кодирования Value, если это - вектор.

Методы

'char'Закодированный параметр запроса как вектор символов
строкаЗакодированный параметр запроса как строка

Атрибуты

Sealedtrue

Примеры

свернуть все

Создайте имя поля структуры this и установите его на значение that.

qStruct.this = 'that';
QP = matlab.net.QueryParameter(qStruct)
QP = 
  QueryParameter with properties:

      Name: "this"
     Value: 'that'
    Format: csv

Создайте вектор символов с двумя запросами, this=that и one=2. Метод QueryParameter разделяет qStr в символе & в два объекта QueryParameter.

qStr = '?this=that&one=2';
QPs = matlab.net.QueryParameter(qStr);

Пары name=value в qStr задают свойства Name и Value.

name1 = QPs(1).Name
name1 = 
"this"
value1 = QPs(1).Value
value1 = 
"that"
name2 = QPs(2).Name
name2 = 
"one"
value2 = QPs(2).Value
value2 = 
"2"

Введенный в R2017b