XSLT/XQuery を使用した JSON 変換

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > JSON と JSON スキーマ >

XSLT/XQuery を使用した JSON 変換

XPath/XQuery 3.1 式を使用して JSON マップ、配列、および、オブジェクトをターゲットとすることができます。結果、 JSON ドキュメントを、 XSLT 3.0、XQuery 3.1、 および XQuery Update 3.0 ドキュメントと共に XMLSpy の内蔵のエンジンを使用して変換することができます。

 

以下の機能を使用することができます:

 

XPath/XQuery 出力ウィンドウ からアクティブな JSON ドキュメントを XPath/XQuery 3.1 式を使用してクエリ  することができます。
アクティブな JSON ドキュメントをユーザーにより選択されている XSLT、または、XQuery ファイルを使用して変換 することができます。
アクティブな XSLT、または、XQuery ドキュメントをユーザーにより選択されている JSON ソースファイル上で実行 することができます。

 

これらの機能は下記で詳細に説明されています。

 

XPath/XQuery 出力ウィンドウを使用して JSON ドキュメントをクエリする

JSON ドキュメントを XPath/XQuery 出力ウィンドウ 内に XPath/XQuery 3.1 クエリ式を入力してクエリすることができます。(下のスクリーンショットを参照). XPath 3.1 アイコン、または、XQuery 3.1 アイコンを選択し、JSON 評価モード内にウィンドウが存在することを確認してください (下記で説明されています)。

XPathXQueryWindow4JSON01

下記の情報は JSON 評価モード内の JSON ドキュメントの評価に関しての情報です (XPath/XQuery ウィンドウの概要と使用の詳細に関しては次のセクションを参照してください: 出力ウィンドウ: XPath/XQuery)。

 

JSON 評価モード

JSON 評価モードの以下の点に関して説明されています:

 

XPath/XQuery ウィンドウは XML 評価モード、または、JSON 評価モードのどちらかです。現在アクティブな モードは、アクティブなモードのボタンがハイライトされることにより示されています。 上のスクリーンショット内の XML/JSON 評価モード ボタンを参照してください。スクリーンショットでは、 ウィンドウは JSON 評価モードに設定されています。
上のスクリーンショットでは、 ボタンが無効化されていることを示す XML と JSON ボタンがグレーアウトされていることに注意してください。 ボタンが無効化されると、有効化、または、無効化の状態を変更することはできません。反対にボタンが有効化 (グレーアウトされていません)されていると、 ウィンドウの評価モードを変更することができます。
XML/JSON 評価モード ボタンの有効化/無効化状態は評価のスコープにより異なります (Where フィールドの値、 上のスクリーンショット参照)。 評価スコープの値は、有効化/無効化 状態を決定するために2つのグループに分割されています: (i) 単一ファイル (現在のファイル)、 (ii) 複数のファイル (開かれているファイル、プロジェクト、フォルダー)。
(上のスクリーンショットに表示されているとおり)評価スコープのために単一のファイル(現在のファイル) が選択されている場合、ウィンドウのモード (JSON、または、XML) は ファイルの拡張子 をベースにして決定されます。ファイルが JSON 適合 の場合、JSON 評価モードは有効化されています。または、ファイルが JSON に適合しない場合、および、 XML 評価モードがオンに切り替えられている場合。単一のファイルの型が既知なため、適切な評価モードが有効化されており、両方のボタンがさ無効化されているので、モードを変更することはできません。
(開かれているファイル、プロジェクト、フォルダー)複数の-ファイルオプションが選択されている場合、両方の評価モードボタンが有効化されており、ユーザーは有効化するモード(JSON、または、XML)を選択することができます。 複数のファイルスコープのデフォルトの評価モードは XML です。
XML 評価モードでは、XML 適合ファイル が処理され、JSON ファイルはスキップされます。
JSON 評価モードでは、JSON 適合ファイル が処理され、XML ファイルはスキップされます。
JSON 式をデバッグモード内でクエリすることもできます。

 

XPath/XQuery 式

XPath/XQuery 式内では、配列関数の検索などの JSON ドキュメントをクエリするために有効な機能を使用してください。 以下の点に注意してください:

 

ドキュメント内で現在の選択をオリジナルの機能として設定する 機能が無効化されています。 結果、式は絶対的である必要があり、相対的であってはなりません。
式を入力すると、自動補完機能によりコンテキストを考慮した保管オプションが提供されます (下のスクリーンショットを参照)。

XPXQWindowJSONAutoComplete

フィールドアイコンを編集するための現在の選択の  XPath はアクティブな JSON ドキュメント内の選択のために、 XQuery を作成し、編集フィールドにコピーします。JSON ドキュメント内で選択するためには、オブジェクト内にカーソルを配置する、または、オブジェクトの一部を選択してください。

 

JSON ドキュメント MusicLibrary.json をクエリするために使用された2つの XPath/XQuery 式は以下のとおりです(下のスクリーンショットを参照)。このドキュメントはアプリケーションフォルダー内に存在するサンプルプロジェクト内で見つけることができます: C:\Documents and Settings\<ユーザー名>\マイ ドキュメント\Altova\XMLSpy2019\Examples

Click to expand/collapse

 

XPath/XQuery 式: ?Artists?1?Albums?2?Name

XPXQWindowJSON01

XPath/XQuery 式: ?*

XPXQWindowJSON02

 

結果

結果は、 結果 ペインの左側の XPath/XQuery 式により選択された JSON コンポーネントおよび、ペインの右側にコンポーネントの値を表示しています。 ペインの左側のマップと配列をアイコンをクリックすることにより展開することができます。展開されたコンポーネントの値は、ペインの右側に表示されます。

 

XSLT/XQuery を使用した JSON ドキュメントの変換

XSLT 3.0, XQuery 3.1、または、XQuery Update 3.0 ドキュメントを使用してアクティブな JSON ドキュメントを変換するには、、以下を行います:

 

XSLT 3.0 変換: 「XSL/XQuery | XSL 変換」 をクリックし、を参照し、XSLT 3.0 ファイルを参照し、「OK」をクリックします。
XQuery 3.1、または、XQuery Update 3.0 変換: 「XSL/XQuery | XQuery/Update の実行」 をクリックし、XQuery 3.1、または、XQuery Update 3.0 ファイルを参照し、「OK」をクリックします。

 

変更済みのドキュメントが生成され、 XMLSpy 内で直接確認することができます。

 

メモ:XSLT/XQuery デバッガー を JSON ドキュメントから開始することができますが、ブレークポイントとトレースポイントは  XSLT、または、XQuery ドキュメント内でのみで設定します。

 

XSLT/XQuery ドキュメントのための JSON ソースの提供

アクティブな XSLT、または、XQuery ドキュメント を JSON ソースファイル上で実行するには、以下を行います:

 

アクティブな XSLT 3.0 ドキュメント: 「XSL/XQuery | XSL 変換」をクリックし、JSON ファイルを参照し、「OK」をクリックします。
アクティブな XQuery 3.1、または、XQuery Update 3.0 ドキュメント: 「XSL/XQuery | XQuery/Update の実行」をクリックし、JSON ファイルを参照し、「OK」をクリックします。

 

変更済みのドキュメント変更済みのドキュメントが生成され、 XMLSpy 内で直接確認することができます。

 

メモ:XSLT/XQuery デバッガー を XSLT、または、XQuery ドキュメントから開始することができ、JSON ドキュメントをデバッグセッションのための入力として割り当てることができます。 ブレークポイントとトレースポイントは  XSLT、または、XQuery ドキュメント内でのみで設定します。

 

 


(C) 2019 Altova GmbH