主要内容

matlab.net.QueryParameter 类

R2026b

命名空间: 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 属性设置为 name,Value 属性设置为 value。

由 % 和两个十六进制数位组成的三元字符,代表一个采用百分号 (%) 编码的字节。由这些字节构成的序列被视为 UTF-8 编码字符,通过解码形成 QueryParameters 的 Name 和 Value 属性。此外,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 必须支持将值转换为字符向量的 string 或 char 方法。如果为空,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=that 和 one=2)的字符向量。QueryParameter 方法将 qStr 在 & 字符处拆分为两个 QueryParameter 对象。

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

qStr 中的 name=value 对组定义 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"

版本历史记录

在 R2016b 中推出