- 概要
- 暗号化
- データベース
- Java
- Python
- Web API
UiPath.WebAPI.Activities.DeserializeJson
説明
JSON 文字列またはサンプルを JSON オブジェクトに逆シリアル化します。既定では、結果は JObjectになりますが、[ 出力の種類 ] プロパティを使用して別の出力の種類を選択できます。
プロジェクトの対応 OS
Windows - レガシ | Windows | クロスプラットフォーム
前提条件
データ マッピングを使用して [ シリアライザーの設定 ] プロパティを設定するには、v25.10 以降の Studio を使用します。以前のバージョンの Studio では、このプロパティでは代わりに [式エディター] ウィンドウが使用されます。
Windows、クロスプラットフォームでの設定
- JsonString - 逆シリアル化される JSON を含む文字列です。JSON は、インデントなしで、二重引用符で囲んで記述する必要があります。JSON 内の文字列は、一重引用符で記述する必要があります。たとえば、次の JSON が有効です。"{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}"
- JSON のサンプル - 出力オブジェクトのプロパティの生成に使用する JSON のサンプルです。サンプルは JSON 形式である必要があります。このサンプルは同様のオブジェクトに変換され、このオブジェクトを設計時に使用できます。
詳細オプション
入力
- シリアライザー設定 - JSON 文字列を逆シリアル化するときに使用する、カスタムのデシリアライザー設定です。このプロパティは、JSON 文字列を逆シリアル化する方法を完全に制御する場合に使用します。
- 出力の種類 - 逆シリアル化先のオブジェクトの引数の型を選択できるドロップダウン リストです。
注:
Studio Web では、[ JSON のサンプル ] プロパティから出力構造を生成すると、[ 出力の種類 ] プロパティが読み取り専用になります。
出力
- JsonObject - 逆シリアル化されたJSONです。[ 出力の種類 ] プロパティで選択した型のオブジェクトとして返されます。既定の型を使用すると、結果は
Newtonsoft.Json.Linq.JObject変数になります。Newtonsoft.Json.Linq.JObjectオブジェクトについて詳しくは、こちらをご覧ください。
JSON サンプルの使用例
[JSON のサンプル] プロパティは、代表的な JSON スニペットから設計時に出力オブジェクト構造を生成します。サンプルを提供すると、一致する型がアクティビティによって推論され、[ 出力の種類 ] プロパティに割り当てられます。そのため、逆シリアル化された値を、 SelectTokenを使用してクエリを実行するのではなく、下流のアクティビティで名前で参照できます。
[JSON のサンプル] プロパティは、設計時のヘルパーです。Studio Web、およびカスタムの型推論をサポートするバージョンの Studio で利用できます。これらの機能が利用できない場合、プロパティは非表示になります。
JSON サンプルの使用方法を例示するために、JSON 文字列から人の名前と市区町村を抽出します。
-
[ JSON を逆シリアル化 ] アクティビティをワークフローに追加します。
-
[ JSON 文字列 ] フィールドに、逆シリアル化する JSON を入力します。例:
"{'name': 'John Doe', 'age': 30, 'address': {'city': 'New York'}}"。 -
[ JSON のサンプル ] フィールドに、同じ構造の代表的なサンプルを貼り付けます。
{ "name": "John Doe", "age": 30, "address": { "city": "New York" } }{ "name": "John Doe", "age": 30, "address": { "city": "New York" } }このアクティビティはサンプルを読み取り、この構造を反映する出力オブジェクトを生成します。[ 出力の種類 ] プロパティが、生成された型に更新されます。
-
後続のアクティビティでは、逆シリアル化された値を、サンプルで定義されているプロパティ名 (
JsonObject.nameやJsonObject.address.cityなど) で直接参照します。たとえば、JsonObject.SelectToken("name")を使用します。
結果
出力オブジェクトはサンプルのプロパティを公開するため、JsonObject.name は John Doe を返し、JsonObject.address.city は JSON を SelectTokenでクエリすることなくNew Yorkを返します。
シリアライザー設定の使用例
[シリアライザーの設定] プロパティにデータ マッピングを使用できない場合は、以下のコード スニペットのいずれかを使用して、[式エディター] で設定します。詳細については、 Newtonsoft のドキュメントをご覧ください。
VB.NET
New JsonDeserializationSettings With {
.MissingMemberHandling = JsonMissingMemberHandling.Ignore,
.NullValueHandling = JsonNullValueHandling.Ignore,
.DateParseHandling = JsonDateParseHandling.DateTime,
.DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
.FloatParseHandling = JsonFloatParseHandling.Double
}
New JsonDeserializationSettings With {
.MissingMemberHandling = JsonMissingMemberHandling.Ignore,
.NullValueHandling = JsonNullValueHandling.Ignore,
.DateParseHandling = JsonDateParseHandling.DateTime,
.DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
.FloatParseHandling = JsonFloatParseHandling.Double
}
C#
new JsonDeserializationSettings
{
MissingMemberHandling = JsonMissingMemberHandling.Ignore,
NullValueHandling = JsonNullValueHandling.Ignore,
DateParseHandling = JsonDateParseHandling.DateTime,
DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
FloatParseHandling = JsonFloatParseHandling.Double
}
new JsonDeserializationSettings
{
MissingMemberHandling = JsonMissingMemberHandling.Ignore,
NullValueHandling = JsonNullValueHandling.Ignore,
DateParseHandling = JsonDateParseHandling.DateTime,
DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
FloatParseHandling = JsonFloatParseHandling.Double
}
Windows - レガシでの設定
プロパティ パネル
共通
- 表示名 - アクティビティの表示名です。
入力
- JSON のサンプル - 出力構造の JSON サンプルです。このサンプルは同様のオブジェクトに変換され、このオブジェクトを設計時に使用できます。
- Json 文字列 - 逆シリアル化される JSON 配列を含む文字列です。JSON はインデントなしで、二重引用符で囲んで記述します。JSON 内の文字列は、一重引用符で記述する必要があります。たとえば、次の JSON が有効です。"{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}"
その他
- プライベート - オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
- TypeArgument - 返される出力の型を選択できるドロップダウン リストです。指定した JSON 文字列は、選択した型のオブジェクトに変換されます。
出力
- JsonObject -
Newtonsoft.Json.Linq.JObject変数として逆シリアル化された JSON です。Newtonsoft.Json.Linq.JObjectオブジェクトについて詳しくは、こちらをご覧ください。
[JSON を逆シリアル化] の使用例
[JSON を逆シリアル化] アクティビティは、JSON ファイルと文字列からデータを抽出するのに使用されます。
このアクティビティの使用方法を例示するため、JSON ファイルから人の年齢を抽出するために [JSON を逆シリアル化] アクティビティを使用する例を作成しました。
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
- ワークフロー デザイナーに [シーケンス] をドラッグします。
-
次の変数を作成します。
変数名 変数の型 既定値 JsonText文字列 JsonObjJObject AgeGenericValue
-
- [テキスト ファイルを読み込み] アクティビティを、シーケンス コンテナー内部にドラッグします。
- [プロパティ] パネルで、[ファイル名] フィールドに値
"JsonString.txt"を追加します。 - Content (コンテンツ) フィールドに変数
JsonTextを追加します。
- [プロパティ] パネルで、[ファイル名] フィールドに値
- [テキスト ファイルを読み込み] アクティビティの後に [JSON を逆シリアル化] アクティビティを追加します。
- [プロパティ] パネルで、[Json 文字列] フィールドに変数
JsonTextを、[Json オブジェクト] フィールドに変数JsonObjを追加します。 - TypeArgument ドロップダウン リストから値
Newtonsoft.Json.Linq.JObjectを選択します。
- [プロパティ] パネルで、[Json 文字列] フィールドに変数
- [代入] アクティビティを、[JSON を逆シリアル化] アクティビティの下に配置します。
- [左辺値 (To)] フィールドに変数
Ageを、[右辺値 (Value)] フィールドに式JsonObj.SelectToken("age").ToStringを追加します。
- [左辺値 (To)] フィールドに変数
- [代入] アクティビティの後に [1 行を書き込み] アクティビティをドラッグします。
- [テキスト] フィールドに変数
Ageを追加します。
- [テキスト] フィールドに変数
- プロセスを実行します。ロボットは、
.jsonファイルから年齢の値を抽出し、それを Output パネルに表示します。
こちらから サンプルをダウンロードできます。