UiPathでのJSON読み書きの基本

JSON(JavaScript Object Notation)は、軽量で人間にも機械にも読みやすいデータ交換フォーマットです。
UiPathでは、JSONデータを読み書きするためのアクティビティが用意されており、これを利用して効率的にデータ処理を行うことができます。
JSONを使用することで、複数のシステム間でデータを簡単に交換し、プロセスの自動化を実現できます。

 

JSONの構造と特徴

JSONデータは、入れ子構造を持つ柔軟なフォーマットです。基本的な構造要素として、オブジェクトと配列があります。

– **オブジェクト**: 中括弧 `{}` で囲まれたキーと値のペアの集合です。キーはユニークな文字列であり、値には任意のJSONデータ型が入ります。オブジェクトは入れ子にすることができ、他のオブジェクトや配列を含むことが可能です。

“`json
{
“name”: “John”,
“age”: 30,
“address”: {
“city”: “New York”,
“zip”: “10001”
}
}
“`

– **配列**: 角括弧 `[]` で囲まれた値のリストです。配列の要素はJSONの任意のデータ型をとることができ、入れ子にすることも可能です。

“`json
[
“apple”,
“banana”,
“cherry”
]
“`

UiPathで扱うJSON用の変数データ型

JSONデータを扱うためにいくつかデータ型を使用します。

– **JToken**: JSONデータの基本的な要素を表す抽象クラスです。JObjectやJArrayの基底クラスであり、JSONデータの任意の部分にアクセスするために使用されます。

– **JObject**: JSONオブジェクトを表現するために使用されます。キーと値のペアで構成されるデータを保持し、操作するためのメソッドやプロパティが提供されます。

– **JArray**: JSON配列を表現するために使用されます。複数の値を含む配列データを保持し、要素の追加、削除、アクセスが可能です。

 

「Deserialize JSON」アクティビティ

「Deserialize JSON」アクティビティは、JSON形式の文字列を.NETオブジェクトに変換するためのアクティビティです。
これを使用することで、JSONデータを扱いやすい形に変換し、各フィールドにアクセスすることが可能になります。
以下は、基本的な使い方の例です。

1. **アクティビティの追加**: UiPath Studioで「Deserialize JSON」アクティビティをワークフローに追加します。
2. **JSON文字列の入力**: 「Input」プロパティにJSON形式の文字列を指定します。
3. **出力の設定**: 「Output」プロパティに、変換後のオブジェクトを格納する変数を指定します。

これにより、JSONデータを効率的に解析し、必要な情報を抽出できます。

 

「Serialize JSON」アクティビティ

「Serialize JSON」アクティビティは、.NETオブジェクトをJSON形式の文字列に変換するためのアクティビティです。

これを使用することで、データをJSON形式で保存したり、他のシステムに送信するための準備ができます。
以下は、基本的な使い方の例です。

1. **アクティビティの追加**: UiPath Studioで「Serialize JSON」アクティビティをワークフローに追加します。
2. **オブジェクトの入力**: 「Input」プロパティに、JSON形式に変換したいオブジェクトを指定します。
3. **出力の設定**: 「Output」プロパティに、変換後のJSON文字列を格納する変数を指定します。

これにより、複雑なデータ構造をJSON形式でシリアライズし、簡単にデータの交換や保存が行えるようになります。

 

基本的な例

以下の例では、シンプルなユーザー情報の配列を含むJSONデータを使用します。

“`json
{
“users”: [
{
“name”: “John”,
“age”: 30
},
{
“name”: “Jane”,
“age”: 25
},
{
“name”: “Doe”,
“age”: 22
}
]
}
“`

このJSONデータを使用して、各ユーザーの情報にアクセスし、処理を行います。

 

UiPathでのJSONデータの読み込みと解析

UiPathでは、以下の手順でJSONデータを読み込み、配列データを処理します。

1. **JSONデータの読み込み**: JSONデータをテキストファイルから読み込みます。これは、データがファイルに保存されている場合に行います。

2. **Deserialize JSONアクティビティの使用**: JSON文字列を.NETオブジェクトに変換します。この例では、JSON文字列をJObjectとしてパースします。

3. **配列データの抽出**: JObjectから配列データを抽出し、JArrayとして扱います。

4. **JArrayの処理**: JArrayの各要素をループ処理して、必要な操作を行います。

以下に、具体的なUiPathのワークフロー例を示します。

 

ワークフロー例

1. **Read Text Fileアクティビティ**: JSONデータを含むテキストファイルを読み込みます。

– **Output**プロパティ: `jsonString`

**Output**プロパティ: `jsonString`

**Output**プロパティ: `jsonString`

 

2. **Deserialize JSONアクティビティ**: JSON文字列をJObjectに変換します。

– **Input**プロパティ: `jsonString`
– **Output**プロパティ: `jsonObject`

**Deserialize JSONアクティビティ**: JSON文字列をJObjectに変換します。

**Deserialize JSONアクティビティ**: JSON文字列をJObjectに変換します。

3. **For Eachアクティビティ**: JArrayの各要素をループ処理します。

– **TypeArgument**: `Newtonsoft.Json.Linq.JObject`

**For Eachアクティビティ**: JArrayの各要素をループ処理します。

**For Eachアクティビティ**: JArrayの各要素をループ処理します。

 

4. **出力結果**

出力結果

 

まとめ

この記事では、JSONデータの読み書きに関する基本的な概念と、UiPathで提供されている関連アクティビティの使い方について説明しました。
配列データを含むJSONデータの処理では、JArrayを用いることができます。