メインコンテンツ

matlab.net.QueryParameter クラス

R2026b

名前空間: matlab.net

Uniform Resource Identifier (URI) のクエリ部分のパラメーター

説明

QueryParameter クラスは、次の形式の URI クエリ文字列の作成に使用します。

name1=value1&name2=value2&name3=value3

ここで、各 name=value セグメントは string メソッドを使用して string に変換された QueryParameter オブジェクトです。QueryParameter オブジェクトのベクトルでは、string メソッドは & 文字を使用して結果を結合します。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) は非スカラー値で使用する形式を指定し、前述の構文の任意の入力引数を含めることができます。

入力引数

すべて展開する

パラメーター名。string または文字ベクトルとして指定します。

パラメーター値。paramName で必要なタイプとして指定します。

パラメーター名と値。構造体として指定します。qStruct のフィールドはパラメーター名と値を定義します。

データ型: struct

パラメーター名と値。string または文字ベクトルとして指定します。queryStr は URI に示されるとおりのエンコードされた完全なクエリで、オプションで先頭に ? 文字があります。

queryStr は & 文字の場所で個々の name=value クエリ パラメーターに分割されます。Name プロパティは name に設定され、Value プロパティは value に設定されます。

% と 2 桁の 16 進数が 3 文字並んだ形式は、パーセントエンコードされたバイトを表します。これらのバイト列は UTF-8 エンコード文字として扱われ、デコードされて QueryParameters の Name プロパティと Value プロパティを形成します。また、queryStr のプラス記号 '+' はすべてスペース '%20' として扱われます。QueryParameter を変換して string に戻すと、エンコードを必要とする文字でのみ必要な任意のパーセントエンコードが実行されます。このアクションは、これらの文字が元々 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 で使用する場合と同じ値になります。

プロパティ

すべて展開する

パラメーター名。string または文字ベクトルとして指定します。

パラメーター値。実数、論理値、datetime (NaT 以外の値)、string、文字ベクトル、またはこれらの値のベクトルまたは cell ベクトルとして指定します。Value がそれ以外のタイプの場合、Value は値を文字ベクトルに変換する string メソッドまたは char メソッドをサポートしなければなりません。空の場合、Value は空の string として扱われます。

Value がベクトルの場合にエンコードに使用するエンコード形式。matlab.net.ArrayFormat 列挙型として指定します。

メソッド

すべて展開する

例

すべて折りたたむ

構造体フィールド名 this を作成し、値 that に設定します。

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

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

2 つのクエリ this=that と one=2 で文字ベクトルを作成します。QueryParameter メソッドは、qStr を & 文字で 2 つの 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 で導入