Formアクティビティの出力項目の値取得について

こんにちは
Formアクティビティを使って、ID、パスワード、日付をユーザに入力させる項目を作りました。

デバッグ画面のFormFieldsOutputDataの値を確認すると、以下のようになっています。

“{"ldapId":"23423423","password":"234234234","date":"20191211","submit":true}”

ここからID、パスワード、日付のそれぞれを変数に代入するにはどうしたらよいのでしょうか。

よろしくお願いします。

2 Likes

こんにちは

FormFieldsOutputDataはJSON形式のデータがString型で返ってきていると思います。

これをJSONとして扱いしやすくするための処理(Deserialize)すると簡単になります。

  1. UiPath.Web.Activities Package (UiPath.WebAPI.Activities Package)が入っていなければパッケージを管理よりインストールします。(オフィシャルのところにあります。)
  2. JSONをデシリアライズ(Deserialize JSON)というアクティビティがあるのでこれを使います。入力をFormFieldsOutputDataの文字列、出力をJObject形式の変数を設定します。(仮にJOとします。)(Ctrl+Kで生成すると楽です。)
  3. 上記後、例えば、JO("password") とすると値が取り出せますので適宜Assignなどで他の変数などにいれてください。
1 Like

丁寧にご説明いただきありがとうございます!

IDと日付は取得できたのですが、パスワードだけ取得できません。
エラーは出力されませんが、デバッグしてみると、パスワードのみがnullになっています。
フォームを作成アクティビティでは、IDと日付はテキストフィールドを、パスワードはパスワードを使用しています。

よろしくお願いします。

こんにちは

FormFieldsOutputDataの出力を文字列変数に入れているかと思いますが、この文字列変数をWriteLineやMessageBoxで出力した値はどのようになっていますでしょうか?

1 Like

メッセージボックスやwritelineではきちんと表示されました!
そのあとの処理もすべてうまくいきました。ありがとうございます。

デバッグ画面でnulと表示されるのはどうしてでしょうか。

パスワードの型はSecureStringですから

1 Like

返信ありがとうございます。

隠してあるんですね。

Yoichiさん、ui-path-example さん、ありがとうございました。
とても助かりました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.