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 要素から情報セットを抽出したいときは、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 を検出します。