このサイトをビューするために JavaScript を有効化してください。

Altova XMLSpy 2021 Professional Edition

JSON ドキュメントは XPath/XQuery 出力ウィンドウ 内に XPath/XQuery 3.1 クエリ式を入力するとクエリすることができます(下のスクリーンショット参照)。

XPathXQueryWindow4JSON01

JSON ドキュメントを評価するには以下を行います:

 

1.XPath 3.1 アイコンまたは XQuery 3.1 アイコンを選択します。

2.ウィンドウが JSON 評価モードであることを確認します。

3.XPath 3.1 または XQuery 3.1 式を入力します。

4.(ツールバーの左の)「評価の開始」 をクリックします。

 

JSON のための XQuery 3.1 式

JSON データ構造は通常オブジェクトと配列を使用するため、 XQuery 3.1 lookup operator ? が (基本的に XQuery パースペクティブからマップする)  JSON オブジェクトと JSON 配列内のノードを検索するために使用されます。ノードをロケートするこの方法は XML ドキュメント内でノードをロケートするためにパス式が作成される方法とは異なります。これらの中では、スラッシュ演算子 / がパス式内でステップを接続するために使用されています (例: items/*)。JSON のための式 XQuery 内では、スラッシュ演算子はノードをロケートするために使用されません。

 

JSON のための XQuery 式のサンプル

 

?items?*

意味: 子ノード items をルックアップし、自信の子ノード全てをルックアップします。items はコンテキストノードの子ノードであることが期待されることに注意してください。

 

?Artists?1?Albums?2?Name

意味: 子ノード Artists をルックアップし、最初の子ノードをルックアップします。そのノードの内部で子ノード Albums をルックアップし、2番目の子ノードをルックアップします。2番目の Name ノードが返されます。

 

?Tracks?*[contains(?Writer, 'Brian')]

意味: 子ノード Tracks をルックアップし、自信のすべての子をルックアップします。子をルックアップ中に、各 Writer 子ノードの子をルックアップし、文字列 'Brian' を含むものを選択します。この式内には3つのルックアップ演算子が存在します。ノードセットがルックアップされる個所でそれぞれが新規ステップ内で使用されています。

 

?Artists?*[?Name="Queen"]?Albums?*?Name

意味: ルートオブジェクト内で lookup 子ノード Artists  をルックアップし、"Queen" の値を持つ Name ノードを持つすべての子をルックアップします。コレアのノード内で、全ての子 Albums ノードをルックアップし、その子もルックアップします。これらの子内で、対応する Name ノードをルックアップ (して返) します。下のスクリーンショットでは、この式は XPath/XQuery ウィンドウ 内でターゲット JSON ドキュメントの JSON グリッドビュー 表示と共に表示されています。

 

inc-XQueryExpForJSON

 

JSON 評価のための結果ペイン

結果は選択された JSON コンポーネントを結果 ペインの左側に太字で表示し、コンポーネントの値をペインの右側に表示します。 下のスクリーンショットでは、結果は太字で表示されます。配列はメンバーを表示するために展開されています。

XPXQWindowJSON02

完全な結果の表示 アイコンがツールバー内でオンまたはオフに切り替えられているかに従い、マップと配列は短い、または詳細フォーマットで表示されています。ペインの左側のマップと配列はそれそれのプラスアイコンをクリックしてて展開することができます。

 

(C) 2015-2021 Altova GmbH