5 「JSON」ページ
ノート:
Oracle Databaseリリース19c以降のリリースで、SODA_APPロールを持つデータベース・ユーザーとしてサインインしている場合にのみ使用できます。「JSON」ページにナビゲートするには、次のいずれかを実行します。
-
「起動パッド」ページで、「JSON」をクリックします。
-
セレクタ
をクリックして、ナビゲーション・メニューを表示します。「開発」で、「JSON」を選択します。
トピック
JSONユーザー・インタフェースについて
JSONユーザー・インタフェースは、保存済コレクションをリストおよび検索するための左ペインと、コレクション内のドキュメントを表示および管理するための右ペインで構成されます。
JSONコレクションのリストおよび検索
次の図に、JSONページの左ペインの主な項目を示します。
ドロップダウン・リストで適切なオプションを選択して、保存済JSONコレクションまたは最近アクセスしたJSONコレクションを表示します。
検索機能では大/小文字が区別されず、一致するエントリがすべて取得され、ワイルドカード文字を使用する必要はありません。
コレクションの作成アイコンをクリックして、新しいコレクションを作成します。コレクションの作成を参照してください
コレクション名を右クリックしてコンテキスト・メニューを開きます。使用可能なオプションは次のとおりです。
-
検索索引: コレクションのJSON検索索引を作成します。作成した検索索引を削除することもできます。コレクションのJSON検索索引の管理を参照してください
-
削除: コレクションをデータベースから完全に削除します。
コレクションの内容の表示
左ペインで特定のコレクションを選択すると、そのコレクションに属するJSONドキュメントが右ペインの下部に表示されます。右側のペインの上部には、ドキュメントをフィルタまたはソートするための問合せを実行できるJSONエディタがあります。
右隅には次の2つのアイコンがあります。
-
ツアー
: 使用可能な機能に関する情報を提供するJSONツアーを開始します。
-
SQLに移動
: 「SQL」ページに移動します。
ツールバーのアイコンは次のとおりです。
-
新規JSONドキュメント
: 新規ドキュメントをコレクションに追加します。JSONドキュメントの追加または編集についてを参照してください
-
ドキュメントのインポート
: ローカル・コンピュータからコレクションに既存の1つ以上のJSONファイルをインポートします。
-
リストのすべてのドキュメントを削除
: 現在のQBE検索文字列に一致するコレクション内のすべてのJSONドキュメントを削除します。現在の文字列が{}の場合、コレクション内のすべてのドキュメントが削除されます。
-
収集の詳細
: コレクションのプロパティを表示します。フィールドの説明は、コレクションの作成を参照してください。
-
ダイアグラム
: JSONデータ・ガイドを階層形式のダイアグラムとして表示します。コレクションのJSONデータ・ガイド・ダイアグラムの表示を参照してください
-
問合せの実行
: JSONエディタで入力したQBE条件を使用してドキュメントをフィルタします。コレクション内のドキュメントの問合せについてを参照してください
各JSONドキュメントには次のアイコンがあります。
-
ドキュメントの編集
: JSONドキュメントを編集します。JSONドキュメントの追加または編集についてを参照してください
-
ドキュメントのクローン
: ドキュメントのクローンを作成します。
-
ドキュメントのコピー
: ドキュメントをクリップボードにコピーします。
-
ドキュメントのエクスポート
: ドキュメントを.JSONファイルとしてダウンロードします。
-
ドキュメントの削除
: ドキュメントを削除します。
JSONコレクションの管理
コレクションを追加、表示または削除したり、コレクション内のJSONドキュメントを参照、追加、編集および削除できます。
-
コレクションの作成: コレクションの作成を参照してください
-
コレクション内のドキュメントの追加または編集: JSONドキュメントの追加または編集についてを参照してください
-
コレクション内のドキュメントの表示: 左ペインでコレクション名を選択します。コレクション内のドキュメントが右ペインに表示されます。
-
コレクション詳細の表示: 左ペインで特定のコレクションを選択し、右ペインのツールバーで「収集の詳細」
をクリックして、コレクション・プロパティを表示します。
-
コレクションの削除: 左ペインでコレクション名を右クリックしてコンテキスト・メニューを開きます。「削除」を選択して、データベースからコレクションを完全に削除します。
コレクション内のドキュメントの問合せについて
フィルタ仕様または例による問合せ(QBE)を使用して、コレクション内の1つ以上のドキュメントを検索できます。
QBEは、JSONで表されるパターンです。コレクションから、コンテンツが一致するJSONドキュメントを選択するために使用します。つまり、パターンで表される条件が、それらのドキュメントのみのコンテンツに対してtrueと評価される場合です。QBEおよびその使用方法の詳細は、Oracle Database Simple Oracle Document Access (SODA)の概要のSODA QBEの概要を参照してください。
特定のコレクションの場合は、JSONエディタでQBE文字列を入力します。たとえば、名前がMaryのドキュメントを選択するには、図5-1に示すように、{"name":"Mary"}と入力し、「問合せの実行」をクリックします。右下のペインに問合せの結果が表示されます。
エディタには、コマンド・パレットから使用できるコマンドの包括的なリストが用意されています。コマンド・パレットを開くには、[Ctrl]+[Shift]+[P]を押します。キーボード・ショートカット・キーのリストは、キーボード・ショートカットを参照してください。
問合せのエラーは、左余白の赤い点と、特定のテキストの下にある四角形の線で示されます。カーソルを置くと、エラーを解決するための可能な修正がポップアップで表示されます。
ヘッダーの右上のユーザー・ドロップダウン・リストの「プリファレンス」オプションを使用して、エディタ・プリファレンスを設定できます。使用可能なオプションには、テーマ(明るい、暗い、高コントラストの暗い)、フォント・サイズおよびファミリ、タブ・サイズ、ワードラップ、ルーラー、行番号などがあります。
エディタの上には次のアイコンがあります。
-
JSONデータのフォーマット
: QBE文字列のインデントおよび改行を有効にします。
-
句の追加: QBE文字列に$orderbyまたは$patch句の書式設定されたテンプレートを追加します。
-
クリア
: 現行のQBE文字列をクリアします。
-
履歴
: 前のQBE検索文字列を取得します。
QBE式は有効なJSONオブジェクトである必要があり、$queryおよび$orderbyまたは$patch句を含めることができます。QBE式は、句が定義されていない場合、$query句として扱われます。$query句で開始し、後で句の追加リストを使用して$orderbyまたは$patch句を追加します。コンテンツが変換され、$orderbyおよび$patch句のテンプレートが提供されます。テンプレートに正しい値を設定する必要があります。JSONエディタでのコンテキスト内オートコンプリート機能の使用を参照してください。
たとえば、次のような単純なフィルタ問合せがあります。

図plain_query.pngの説明
「句の追加」を使用して$orderby句を追加すると、次のエントリが表示されます。

図orderby_clause.pngの説明
$patch句を追加すると、問合せは次のように変更されます。

図patch_clause.pngの説明
JSONエディタでのコンテキスト内オートコンプリート機能の使用
[Ctrl]+[Space]を押すと、エディタにコンテキスト対応のオプションのリストが表示されます。このリストから、挿入ポイントでオプションを選択して自動補完できます。
次のタイプの情報がリストに表示されます。
-
比較句のフィルタ
テンプレートは各条項に使用可能で、カーソル位置に挿入されます。たとえば、オートコンプリート・リストから
$between
句を選択すると、エディタに次のエントリが表示されます。ここで、
age
はプロパティ名、49
および70
は値です。これらは編集可能なパラメータで、強調表示されています。プロパティ名は、入力するか、オートコンプリートのヘルプを使用して編集できます。[Tab]キーを押して、次のパラメータに移動します。 -
コレクション内のJSONドキュメントのプロパティ名
JSONドキュメントのプロパティ名には、次の2つのソースがあります。
-
データ・ガイドをサポートする検索索引が作成されている場合は、データベース・ディクショナリのJSONデータ・ガイドでプロパティ名がスキャンされます。
-
表示または編集されたドキュメントから収集されたプロパティ名が表示されます。プロパティ名はネームスペース全体のサブセットである可能性があります。
プロパティのタイプに基づいて、関連するテンプレートが挿入され、カーソルが挿入対象の場所に置かれます。次に、プロパティ・タイプ、そのテンプレートおよびそれぞれに対応するカーソル位置のリストを示します。
-
Object
"ShippingInstructions.Address": { <cursor_here> }
-
Array
"LineItems": [<cursor_here>]
-
String
"LineItems[*].Part.Description": "<cursor_here>]"
-
Number
"PONumber": 0
-
Boolean
"site_admin": true
カーソルが二重引用符("")で囲まれていて、オートコンプリートがアクティブ化されている場合、テンプレートまたは追加の二重引用符なしでプロパティ名のみが挿入されます。
-
コレクションのJSON検索索引の管理
コレクションのJSON検索索引を作成または削除できます。
JSON検索索引の作成
-
左ペインで、特定のコレクションを右クリックして「検索索引」を選択し、「作成」を選択します。
-
検索索引の名前を入力し、「OK」をクリックします。
検索索引名は、コレクションの詳細を表示すると表示されます。
検索索引の削除
-
左ペインで、特定のコレクションを右クリックして「検索索引」を選択し、「削除」を選択します。
確認を求めるプロンプトが表示されます。
-
「OK」をクリックして削除します。
コレクションのJSONデータ・ガイド・ダイアグラムの表示
ダイアグラム・ビューには、コレクションのJSONデータ・ガイドが、エンティティ関係ダイアグラムと同様の形式を使用する階層構造として表示されます。
JSONデータ・ガイドは、JSONコンテンツを含む列を持つドキュメントのJSONスキーマを表します。
ダイアグラムで、配列は1対多の関係として表され、この配列に、1対1の関係としてオブジェクトが含まれ、可能な選択肢を囲むボックスとしてoneOf構造が含まれます。
右ペインのツールバーで「ダイアグラム」をクリックして、特定のコレクションのJSONデータ・ガイド・ダイアグラムを表示します。
ツールバーのアイコンは、「ダイアグラムの印刷」、SVG形式で保存、「ズームイン」、「ズームアウト」、「画面に合わせる」および「実際のサイズ」です。