【UiPath】JSONを読み込んでDictionaryに格納する

【UiPath】JSONを読み込んでDictionaryに格納する

RPA UiPathでやりたいこと

UipathでJSONを読み込んで、使いやすいようにDictionaryに格納します。
JSONはNameとValueの組み合わせなので、NameをDictionaryのキーにします。

{"Name":"Value"}

インターフェイス(引数)

物理名 I/O 説明
jsonFIlePath String in JSONファイルのパス
res Boolean out JSON⇒Dictionaryに成功したかどうか
dic Int32 out JSONの中身を格納したDictionary

変数

物理名 スコープ 説明
jsonText String Try~Catch JSONテキストファイルを読み込む領域
jsonObj JObject 全体 テキストをオブジェクトに変換した作業領域

大まかな処理の流れ

【UiPath】JSONを読み込んでDictionaryに格納する

① 使う変数の準備
② JSONファイルの読み込みと、デシリアライズ
③ Dictionaryに格納

変数の代入

【UiPath】JSONを読み込んでDictionaryに格納する

res = True
dic = New Dictionary(Of String,Object)

ファイル読み込みは例外の発生があり得るので、この処理が成功したか失敗したかを「res」に入れます。
DictionaryはNewして領域を生成しておきます。

JSONファイルの読み込み

【UiPath】JSONを読み込んでDictionaryに格納する
ファイルの読み込みはException発生の可能性があるので、Try~Catchでくくります。

「テキストファイルからの読み込み」のプロパティには、ファイル > ファイル名にJSONファイルのパス、出力 > コンテンツにString型の変数を設定します。
読み込んだファイルの中身が、その変数の中に格納されます。

「JSONをデシリアライズ」プロパティは、今度はString型からJObjectに格納します。

Catchの中は、resをFalseに設定して、必要であればエラーログを出力するなどの処理を入れてください。

Dictionaryに格納する

【UiPath】JSONを読み込んでDictionaryに格納する
JObjectのPropertiesをループで回すと、1セットずつ取得できるので、NameをキーにしてDictionaryに入れてゆきます。
ループのプロパティはTypeArgumentをJPropertyにしておくと、型変換でUipathさんが迷いません。

その他補足事項

Try~CatchでExceptionが発生しても後続処理に続いてしまう作りですが、変数「jsonObject」が空なので、ループ入らず終了します。
判定しないのが気持ち悪い人は、ifを挟んでください。

コメントを残す

メールアドレスが公開されることはありません。