コラム 「RPAの気になる話」

UiPath StudioでJSONデータをもっと活用するために
【JSONデータ受取時の補足】

2022.02.18

前回のコラム「UiPath StudioでJSONデータをもっと活用するために」で、外部Webサービスから返されたJSONデータをRPA内(UiPath Studio内)で効率的に扱えるよう辞書の形に整形する、そのためには逆シリアル化を再帰的に実行するということを書きました。ここでは、JSONデータを受け取る時の注意点を2つ、補足として記しておきます。

 

補足:JSONデータ受取時の注意点

1. JSON内の文字列に含まれる二重引用符を一重引用符に置換する

デモでは、UiPath StudioからのAPIリクエストにおいて「HTTP要求」アクティビティは使用せず、「プロセスを開始」アクティビティでcurlコマンドのバッチファイルを実行し、APIのレスポンスをクリップボードから取得しました。このように、クリップボードを経由する場合、JSON文字列を格納するデータ型は2通り考えられます。

  • 方法① [UiPath.Core.GenericValue]で取得
  • 方法② [String]で取得

どちらも、JSON内の文字列は二重引用符で囲われているため、「JSONを逆シリアル化」アクティビティの入力値に設定する場合は、予め一重引用符に置換しておくと良いでしょう。

この置換処理をせず「JSONを逆シリアル化」の入力値として設定してもエラーは生じませんでしたが、「JSONを逆シリアル化」アクティビティのリファレンスには「有効なJSON構文」について注意書きがあります。予期しない動作を防ぐためにも気をつけておきたい点です。

 以下は「JSON を逆シリアル化 (Deserialize Json) (uipath.com)」よりの引用です。

JsonString – 逆シリアル化される JSON を含む文字列です。JSON は、インデントなしで、二重引用符で囲んで記述する必要があります。JSON 内の文字列は、一重引用符で記述する必要があります。たとえば、次の JSON が有効です。“{‘TenancyName’: ‘Documentation’, ‘UsernameOrEmail’: ‘Documentation’, ‘Password’: ‘Documentation’}”

方法①のGenericValue型の場合は以下の図のようになります。

方法②のString型の場合、二重引用符はエスケープ (¥) されています。

String型変数に格納したJson文字列について、二重引用符から一重引用符への置換を「テキストを変更」アクティビティで行う例です。

 

2. ユニコードエスケープされた文字は日本語に自動変換される

 JSON を逆シリアル化」アクティビティの仕様として、以下の \u30bb のようなUnicodeエスケープされた文字列は日本語に変換されます。

例えば、JSONオブジェクトをSrting型変数に格納した直後の値を見ると、「issuer」の値が「\u30bb\u30d6\u30f3\u30fc\u30a4\u30ec\u30d6\u30f3」となっていますが、

JSONを逆シリアル化」を実行すると「セブン―イレブン」となります。

もし、ワークフローの中で、日本語に変換される前のUnicodeエスケープされたままの文字列を使いたい場合は注意が必要です。

 

前回コラムで書ききれなかった、JSONデータ受取時の注意点を2つ、ご紹介しました。この他にもUiPathやWinActorでのRPA開発で、質問・相談があればお気軽にお問い合わせ下さい

> UiPath製品に関する情報はこちら
> WinActor製品に関する情報はこちら

このコラムの執筆者

株式会社シーエーシー
アドバンスドテクノロジー本部
今泉 由莉花

世の中の自動化浸透にITの分野から携わりたいと思い2020年に入社。「お客様に最適なロボットを提供できる開発者」を目指し、技術検証などを通して複数のRPA開発ツールに触れてきました。文系出身エンジニアとして、初心者視点でWinActor・UiPath開発の躓きやすいポイント、コツや注意点をお伝えできればと思います。

RPA技術レポート無料ダウンロード

RPAで全社的な業務改善をするならCoE導入という選択肢
RPAで全社的な業務改善をするならCoE導入という選択肢
ダウンロード ダウンロード
RPAの始め方 Automation Hubで候補業務を見つけよう
RPAの始め方 Automation Hubで候補業務を見つけよう
ダウンロード ダウンロード
美しいコードをみると感動する、美しいワークフローの作り方
美しいコードをみると感動する、美しいワークフローの作り方
ダウンロード ダウンロード

RPA製品紹介