UiPath StudioでJSONデータをもっと活用するために
【JSONデータ受取時の補足】
前回のコラム「UiPath StudioでJSONデータをもっと活用するために」で、外部Webサービスから返されたJSONデータをRPA内(UiPath Studio内)で効率的に扱えるよう辞書の形に整形する、そのためには逆シリアル化を再帰的に実行するということを書きました。ここでは、JSONデータを受け取る時の注意点を2つ、補足として記しておきます。
<補足:JSONデータ受取時の注意点>
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文字列について、二重引用符から一重引用符への置換を「テキストを変更」アクティビティで行う例です。
ユニコードエスケープされた文字は日本語に自動変換される
「JSON を逆シリアル化」アクティビティの仕様として、以下の \u30bb のようなUnicodeエスケープされた文字列は日本語に変換されます。
例えば、JSONオブジェクトをSrting型変数に格納した直後の値を見ると、「issuer」の値が「\u30bb\u30d6\u30f3\u30fc\u30a4\u30ec\u30d6\u30f3」となっていますが、
「JSONを逆シリアル化」を実行すると「セブン―イレブン」となります。
もし、ワークフローの中で、日本語に変換される前のUnicodeエスケープされたままの文字列を使いたい場合は注意が必要です。
*
前回コラムで書ききれなかった、JSONデータ受取時の注意点を2つ、ご紹介しました。この他にもUiPathやWinActorでのRPA開発で、質問・相談があればお気軽にお問い合わせ下さい。
このコラムの執筆者
株式会社シーエーシー
アドバンスドテクノロジー本部
今泉 由莉花
世の中の自動化浸透にITの分野から携わりたいと思い2020年に入社。「お客様に最適なロボットを提供できる開発者」を目指し、技術検証などを通して複数のRPA開発ツールに触れてきました。文系出身エンジニアとして、初心者視点でWinActor・UiPath開発の躓きやすいポイント、コツや注意点をお伝えできればと思います。
本記事のカテゴリ :RPA技術コラム
関連記事
-
2022/2/1
-
2021/12/21
PickUP
本記事に関連するCACのサービスやお役立ち情報をご紹介します。
RPA技術レポート無料ダウンロード
- 【コラム】WinActor ver7.5.0「シナリオ作成ガイド」で作ってみました
- 【コラム】 RPA導入・拡大の課題と解決 ―知っておきたい3つのTIPS
- 【コラム】RPA開発のポイント ―RPAを一人で始めて会社を巻き込む
- 【コラム】医療事務の現場 事務でRPAが求められる背景から対象業務、メリット、事例まで一挙解説!
- 【サービス】RPA開発/サポートサービス
- 【サービス】RPA+Oneソリューション
- 【サービス】RPA研修 自社開発イネーブルメントプログラム
- 【動画】CAC RPAセミナー オンデマンド
- 【資料ダウンロード】美しいコードをみると感動する、美しいワークフローの作り方|CAC RPA White Paper