JSONPath Builder は、REST API アクティブモニタおよびパフォーマンスモニタや、REST API アクティブおよびパフォーマンスアプリケーション監視 (APM) コンポーネントを作成する際に使用するヘルパーユーティリティです。このツールを使用すると、監視する JSON 要素を選択し、選択した JSON 要素についての JSONPath クエリを生成することができます。
JSONPath クエリは、角括弧表記とドット表記の 2 つの形式で記述することができます。例を次に示します。
[‘name’]
$.name
このトピックでは、JSONPath Builder ツールのワークフローとサポートされている構文について説明します。
モニタライブラリから新しい REST API パフォーマンスモニタを追加すると、[Add REST API Performance Monitor (REST API パフォーマンスモニタの追加)] ウィンドウが開きます。このウィンドウには、JSONPath Builderツールで使用される [REST API] と [JSONPATH] という 2 つの関連セクションがあります。
REST API パフォーマンスモニタの名前、説明、およびタイムアウト値を入力します。JSONPath Builder ツールを使用するには、以下の手順に従います。
モニタライブラリから新しい REST API アクティブモニタを追加すると、[Add REST API Active Monitor (REST API アクティブモニタの追加)] ウィンドウが開きます。このウィンドウには、[REST API] と [停止条件] という 2 つの関連セクションがあり、[停止条件] には、モニタの停止条件を追加するための JSONPath クエリグリッドがあります。JSONPath クエリグリッドで虫眼鏡ボタンを選択すると、JSONPath Builder を使用できます。
REST API アクティブモニタの使用中に、複数の JSONPath クエリを定義して、モニタの停止状態を評価することができます。また、パフォーマンスモニタとは異なり、アクティブモニタでは、数値、ブール値、および文字列の変数に対して停止条件を検証することができます。
JSONPath Builder で JSON 要素を選択すると、JSONPath クエリグリッドにその要素の種類が自動的に検出されて、JSONPath クエリグリッドの [種類] 列に入力されます。
REST API アクティブモニタの名前、説明、およびタイムアウト値を入力します。JSONPath Builder ツールを使用するには、以下の手順に従います。
REST API パフォーマンスアプリケーション監視 (APM) コンポーネントの動作は、REST API パフォーマンスモニタと似ていますが、数値応答に警告しきい値と停止しきい値の条件が追加されています。REST API APM コンポーネントをテストデバイスに接続して検証することができます。次の画像は、数値の API エンドポイントと警告および停止しきい値の例を示しています。
REST API アクティブアプリケーション監視 (APM) コンポーネントの動作は、REST API アクティブモニタと似ていますが、REST API アクティブ APM コンポーネントを接続してモニタを検証できるテストデバイスが追加されています。
前述したとおり、JSONPath クエリは、角括弧表記とドット表記の 2 つの形式で記述することができます。例を次に示します。
[‘name’]
$.name
'books' という JSON アレイがあり、アレイの最初の項目の名前が「The Cat in the Hat」である場合、次のいずれかの JSON クエリを入力してその値にアクセスできます。
[‘books’][0]['name']
$.books[0].name
JSONPath Builder を使用して JSON 要素についての JSONPath クエリを生成できることに加え、JSONPath クエリのフィルタを使用して JSON 応答を検証する高度なクエリを記述することもできます。フィルタを使用すると、比較演算子を使用した演算を行うことができます。また、JSON アレイの長さを返す「length」プロパティも使用できます。
これらのプロパティは、JSONPath クエリのフィルタで使用することで、条件に基づいて値を返したり、必要のない値を除外したりすることができます。
Note: トークンセレクターは、キャプチャしたオブジェクトの長さが 1 の場合のみ、値を返します。JSONPath クエリで複数の値が返されると、解析エラーが発生します。
サポートされている比較演算子を以下の表に示します。
比較演算子名 |
比較演算子 |
例 (角括弧表記) |
例 (ドット表記) |
注: |
等しい |
|
|
|
このクエリは、存在する「The Cat in the Hat」のコピー数を返します。 |
等しくない |
|
|
|
|
より小さい |
|
|
|
アクティブモニタとアクティブ APM コンポーネントの場合、停止条件は、「The Cat in the Hat」を含む文字列で、「The Cat in the Hat」を含むコピーが 3 つより少ない場合などになります。 |
以下 |
|
|
|
|
より大きい |
|
|
|
アクティブモニタとアクティブ APM コンポーネントの場合、停止条件は、1 (「The Cat in the Hat」の bookId) を含まない数字で、「The Cat in the Hat」を含むコピーが 1 より多い場合などになります。 |
以上 |
|
|
|
|
長さ |
|
|
|
JSON アレイの長さを返します。 |