このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
mps.json.encoderequest
MATLAB Production Server JSON スキーマを使用してサーバー リクエストの MATLAB データを JSON テキストに変換する
説明
は、MATLAB® Production Server™ の JSON スキーマを使用して、デプロイされた MATLAB 関数への入力であるリクエストをエンコードします。MATLAB Production Server への呼び出しを行うために必要な、text
= mps.json.encoderequest(rhs
)'Nargout'
や 'OutputFormat'
などの MATLAB 変数およびオプションが含まれたサーバー リクエストをビルドします。
は、特定の入力ケースに対して、名前と値のペアの引数を 1 つ以上使用して追加オプションを指定します。 text
= mps.json.encoderequest(rhs
,Name,Value
)
例
MATLAB Production Server ペイロードの記述
mps.json.encoderequest({[1 2 3 4]})
ans = '{"rhs":[[[1,2,3,4]]],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}}'
MATLAB Production Server ペイロードの記述および出力パラメーターの設定
rhs = {['Red'], [15], [1 3; 5 7], ['Green']}; mps.json.encoderequest(rhs, 'Nargout', 3, 'OutputFormat', 'large')
ans = '{"rhs":["Red",15,[[1,3],[5,7]],"Green"],"nargout":3,"outputFormat":{"mode":"large","nanType":"string"}}'
MATLAB Production Server ペイロードとしての MATLAB 関数の記述
2 つの行列を水平方向に連結する MATLAB 関数 horzcat
を使用します。
a = [1 2; 5 6]; b = [3 4; 7 8]; mps.json.encoderequest({horzcat(a,b)})
ans = '{"rhs":[[[1,2,3,4],[5,6,7,8]]],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}}'
MATLAB Production Server にデプロイされた関数 sortstudent
からの応答の読み取り
mps.json.encoderequest
と mps.json.decoderesponse
を実行し、webwrite
を使用して MATLAB Production Server にデプロイされた関数を呼び出します。この場合、学生の名前と対応するスコアは、MATLAB Production Server にデプロイされたスコアに基づいて学生を並べ替える関数 sortstudents
に渡されます。返される結果は、MATLAB から関数 sortstudents(struct('name', 'Ed', 'score', 83), struct('name', 'Toni', 'score', 91))
を呼び出す場合と同等になります。
サーバーへデプロイされた MATLAB 関数 sortstudents
を含むデプロイ可能なアーカイブ studentapp
があると仮定します。
メモ
テスト サーバーの呼び出しは、cURL や Postman を使用するなど、必ず別のプロセスを使用して行ってください。MATLAB で webread
を使用して行う場合は、テスト クライアントを開始したものとは別の MATLAB プロセスを使用します。
data = {struct('name', 'Ed', 'score', 83), struct('name', 'Toni', 'score', 91)}; body = mps.json.encoderequest(data); options = weboptions; % Create a weboptions object that instructs webread to return JSON text options.ContentType = 'text'; % Create a weboptions object that instructs webwrite to encode character vector data as JSON to post it to a web service options.MediaType = 'application/json'; response = webwrite('http://localhost:9910/studentapp/sortstudents', body, options); result = mps.json.decoderesponse(response);
入力引数
rhs
— デプロイされた、呼び出す MATLAB 関数の入力引数
MATLAB Production Server でサポートされている任意の MATLAB データ型の cell ベクトル
MATLAB Production Server にデプロイされた、呼び出す MATLAB 関数の入力引数。cell ベクトルとして指定します。
名前と値の引数
オプションのペアの引数を Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定する必要がありますが、ペアの順序は考慮されません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: mps.json.encoderequest(rhs, 'Format', 'large')
Nargout
— MATLAB Production Server にデプロイされた関数の出力引数の数
1 (既定値) | 任意の正の整数
MATLAB Production Server にデプロイされた関数の出力引数の数。'Nargout
' と出力引数の数で構成されたコンマ区切りのペアとして指定します。
mps.json.encoderequest(rhs, 'Nargout', 3)
.
Format
— rhs
をエンコードする形式
'small' (既定値) | 'large'
rhs
をエンコードする形式。'Format
' と形式 'small
' または 'large
' で構成されるコンマ区切りのペアとして指定します。
small
形式は JSON での MATLAB データ型のより単純な表現ですが、large
形式はより一般的な表現です。詳細については、MATLAB データ型の JSON 表現を参照してください。
NaNInfType
— rhs
で NaN
、Inf
、-Inf
をエンコードする形式
'string' (既定値) | 'オブジェクト'
rhs
で NaN
、Inf
、-Inf
をエンコードする形式。'NaNInfType
' と JSON データ型 'string
' および 'object
' で構成されたコンマ区切りのペアとして指定します。
OutputFormat
— MATLAB Production Server にデプロイされた MATLAB 関数からの応答の形式
'small' (既定値) | 'large'
MATLAB Production Server にデプロイされた MATLAB 関数からの応答の形式。'OutputFormat
' と形式 'small
' または 'large
' で構成されるコンマ区切りのペアとして指定します。
出力形式は mps.json.encoderequest(rhs, 'OutputFormat', 'large')
を使用して設定されます。
OutputNanInfType
— NaN
、Inf
、-Inf
が含まれている、MATLAB Production Server にデプロイされた MATLAB 関数からの応答のタイプ
'string' (既定値) | 'オブジェクト'
NaN
、Inf
、-Inf
が含まれている、MATLAB Production Server にデプロイされた MATLAB 関数からの応答のタイプ。'OutputNaNInfType
' と JSON データ型 'string
' および 'object
' で構成されたコンマ区切りのペアとして指定します。
出力応答の NaN タイプは mps.json.encoderequest(rhs, 'OutputNaNInfType', 'object')
を使用して設定されます。
PrettyPrint
— 可読性を高めるための text
の書式設定
false (既定値) | true
可読性を高めるための text
の書式設定。'PrettyPrint
' と、logical 'true
' または 'false
' で構成されるコンマ区切りのペアとして指定します。構文は mps.json.encoderequest(rhs,'PrettyPrint',true)
です。
出力引数
text
— JSON テキスト
文字ベクトル
MATLAB Production Server の JSON スキーマの JSON 形式のテキスト。文字ベクトルとして返されます。
バージョン履歴
R2018a で導入
参考
mps.json.encode
| mps.json.decode
| mps.json.decoderesponse
トピック
- MATLAB データ型の JSON 表現 (MATLAB Production Server)
- MATLAB Production Server 用のデプロイ可能なアーカイブの作成 (MATLAB Production Server)
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)