はじめに
UiPathを実行する環境でExcelがない場合、ファイル書き出し先の候補としてまずはCSVが挙がるかもしれない。
しかし、書き出したファイルをpythonなどで読むときCSVファイルよりjsonファイルのほうが扱いやすいため、UiPathでjsonファイルを書き出したいと考える場合もあると思う。
今回はUiPathの「Json.NET」パッケージと「Microsoft.Activities.Extensions」パッケージを用いてjsonファイルを作成する方法を紹介する。
UiPathパッケージのインストール
「Json.NET」パッケージと「Microsoft.Activities.Extensions」パッケージのインストールを行う。
「パッケージを管理」ウィンドウを開き、検索窓に「Json.NET」および「Microsoft.Activities.Extensions」を入力することで外部パッケージを検索しインストールできる。
- Microsoft.Activities.Extensions :UiPathのDictionary型を使用するためのパッケージ
- Json.NET :UiPathのDictionary型からJsonを生成する関数を含むパッケージ
Dictionary型とは
今回使用するDictionary型はC#やVBで使用されるDictionary型と同じである。
Dictionary(”キー”)のようにキーを指定することで、キーに紐づく値を取り出すことができる。
Dictionary型の変数を定義する
UiPath Studioの下部にある「Variables」を押下して、新しい変数を作成し、Dictionary型の変数を定義していく。
下記のように「Variable type」は初期状態ではDictionary型が表示されないため「Browse for Types …」をクリックする。
変数型のウィンドウが開いたら、検索窓に「System.Collections.Generic.Dictionary」と入力する。
Dictionary
Dictionary型の変数はDefaultに値を入力し初期化しておく必要がある。
例えば、キー、バリューともにStringなら「New Dictionary(of String, String)」と入力する。
また、初期状態で値を設定したい場合は、「New Dictionary(of String, String) From{{“key1”, “value1”},{“key2”, “value2”}}」のように値を入れておくことも可能。
Dictionary型に値を追加する
UiPath Studioの左下部にある「アクティビティ」をクリックし、検索窓に「dict」などと入れるとDictionary型で使用できるアクティビティを確認できる。
値を追加する場合は下記のように「Add To Dictionary」を選択し、KeyとValueに値を入れることでDictionary型に要素を追加することができる。
Dictionary型をjson文字列に変換する
json文字列への変換に「代入」アクティビティを使用する。
UiPath Studioの左下部にある「アクティビティ」をクリックし、検索窓に「Assign」などと入れると「代入」アクティビティを見つけられる。
「代入」アクティビティにはそれぞれ以下のように値を入れる。
- 左辺:あらかじめjson文字列格納用に”json”などのString型変数を作成しておき、左辺に入力する
- 右辺:Newtonsoft.Json.JsonConvert.SerializeObject(“Dictionary型の変数”)
これにより、下記の例ではString型のjson変数にjson文字列を代入できる。
ファイルに書き出す
jsonのファイルへの書き出しは「テキストをファイルに書き込み」アクティビティで可能である。
UiPath Studioの左下部にある「アクティビティ」をクリックし、検索窓に「テキスト」などと入れると「テキストをファイルに書き込み」アクティビティを見つけられる。
「テキストをファイルに書き込み」アクティビティには下記のように値を入れる。
- テキスト:上記のjson文字列を格納した変数を入力
- 書き込む先のファイル名:任意に入力
以上でUiPathでのjson文字列の作成からファイルへの書き出しが可能である。
おわりに
UiPathでのjsonファイルの書き出しはCSVへの書き出しと比べると少し手数がかかるが、慣れればすぐにできるので、json形式も書き出し先のファイル形式の選択肢に入れておくと便利だと思う。