Main Content

matlab.net.QueryParameter 类

命名空间: matlab.net

统一资源标识符 (URI) 的查询部分的参数

描述

使用 QueryParameter 类创建以下形式的 URI 查询字符串:

name1=value1&name2=value2&name3=value3

其中每个 name=value 段是一个 QueryParameter 对象,已使用 string 方法转换为字符串。对 QueryParameter 对象向量使用 string 方法时,它会用 & 字符将转换结果联接起来。string 方法可将任何值转换为字符串,并对结果中的特殊字符执行所有必要的编码。

类属性

Sealed
true

有关类属性的信息,请参阅类属性

创建对象

描述

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 属性设置为 nameValue 属性设置为 value

% 和两个十六进制数位组成的三元字符,代表一个采用百分号 (%) 编码的字节。由这些字节构成的序列被视为 UTF-8 编码字符,通过解码形成 QueryParametersNameValue 属性。此外,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 中使用时,它们的值完全相同。

属性

全部展开

参数名称,指定为字符串或字符向量。

参数值,指定为实数值、逻辑值、日期时间(值不能为 NaT)、字符串、字符向量或这些值的向量或元胞向量。如果 Value 是其他任何类型,则 Value 必须支持将值转换为字符向量的 stringchar 方法。如果为空,Value 则被视为空字符串。

编码格式,指定为 matlab.net.ArrayFormat 枚举,用于编码 Value(如果它是向量)。

方法

全部展开

示例

全部折叠

创建一个结构体字段名称 this 并将其值设置为 that

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

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

创建具有两个查询(this=thatone=2)的字符向量。QueryParameter 方法将 qStr& 字符处拆分为两个 QueryParameter 对象。

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

qStr 中的 name=value 对组定义 NameValue 属性。

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

版本历史记录

在 R2016b 中推出