JSON ファインダー
JSON テキスト内の必要なデータを検索するには、JSON ファインダーを使用します。現在のステップのファインダー リストは、ステップ ビューの [ファインダー] タブにあります。
JSON およびその関連用語の詳細については、JSON を使用するを参照してください。
JSON ファインダーのプロパティ
JSON ファインダーは、以下のプロパティを使用して設定できます。
- 検索範囲
- このプロパティで、JSON 要素を検索する場所を指定できます。デフォルト値は「JSON 全域」で、これは検索で名前付き JSON を使用しないことを意味します。
- この名前付き JSON
- このプロパティは、[検索範囲] のリストで [名前付き JSON で] を選択したときに使用します。このプロパティで、選択した「名前付き JSON」内の検索を指定するか、または使用する「名前付き JSON」の名前を指定することができます。
- パス
- このプロパティで、JSON 要素へのパスを指定できます。タグ パスは、値セレクターを使用してさまざまな方法で指定できます。
JSON パス エクスプレッションは、常に、XPath エクスプレッションが XML ドキュメントとの組み合わせで使用されるのと同様に JSON 構造を参照します。JSON パス エクスプレッションは、JavaScript とよく似て、ドット表記を使用します (例:personnel.person[0].name)。@top: 要素は必須で、JSON の先頭から検索を行うようにファインダーに命じます。
- 例
-
- JSON パス
-
以下は簡単な JSON 構造と、パス例および可能性のある結果を示す表です。
{ "personnel" : { "person" : [ { "ID" : 0, "name" : "Bob", "age" : 26, "isMale" : true }, { "ID" : 1, "name" : "Ted", "age" : 25, "isMale" : true }, { "ID" : 2, "name" : "Jill", "age" : 47, "exam" : "553213-3", "isMale" : true }, { "ID" : 3, "name" : "Rick", "age" : 50, "exam" : "553225-3", "isMale" : true } ] } }
XPath
JSON パス
結果
/personnel/person[2]/name
@top:.personnel.person[1].name
Ted
/personnel
@top:.personnel
"personnel" からすべての情報を抽出する
JSON の名前に次の文字が含まれている場合、角括弧で囲まれた新しいファインダーが使用されます。
. " .. [ ] \
たとえば、{ "main.key": 42 } のように、JSON の名前にドットが含まれている場合、[アプリケーション] ペインの要素を右クリックして「JSON 抽出」ステップを挿入すると、そのステップは次のファインダーを自動的に挿入します。
@top:["main.key"]
2 つの構文は同等なものとして使用でき、以前に作成したすべての JSON ファインダーは、新しいバージョンの RPA で機能します。
JSON 要素から情報セットを抽出する場合は、JSON から XML ページを作成し、テキスト エクスプレッションを使用して必要な情報を抽出することができます。たとえば、上の JSON から XML ページを作成する場合は、XML で item[1] を選択し、".*<name>"+TheInput+"</name>.*" のようなエクスプレッションを実行すると、1Ted25true と同様の結果を得ることができます。
- 名前付き JSON の検索
-
次の例において、名前付き JSON は "a" を検出するための JSON ファインダーで使用できる JSON テキストの一部です。
次の JSON テキスト:
{ "a" : [{ "b" : [1,2,3] }], "c" :42 }
において、名前付き JSON に
"b" : [1,2,3]
をマークさせることができ、こうして、JSON ファインダーに以下のプロパティによる検索を行わせることができます。
検索範囲:名前付き JSON で
この名前付き JSON: 1
パス:[1]
これで、このファインダーはリスト内の番号 2 を検出します。