A 例によるJSON
この付録では、Oracle NoSQL DatabaseストアでのJSONデータの使用方法に関する完全なJavaの例を示します。
この例では、JSONオブジェクトを使用して各行を示す一連の表の行がロードされます。その後、自宅住所がボストンであるすべての表の行が更新され、その住所の郵便番号が02102から02102-1000に更新されます。
サンプル・データでは、JSONデータの操作に必要なエラー処理の一部(すべてではなく)を示すために、Nullフィールドと欠落フィールドを持つ表の行が意図的にいくつか含まれています。ストアに破損したJSONをした場合、その対処方法は無限にあります。本番コードは、ここに示すものよりも大幅に堅牢である必要があります。
次の例では、更新操作が3つの異なる方法で示されます。実際の更新は常に同じですが(UpdateJSON.updateZipCode()メソッドを参照)、自宅住所がボストンである行を検索する方法は3つあります。
-
問合せなし。
単に表全体を反復処理し、各行を順に調べます。UpdateJSON.updateTableWithoutQuery()を参照してください。
-
索引を使用。
JSON索引を使用して、自宅住所がボストンであるすべての表の行を取得します。UpdateJSON.updateTableWithIndex()を参照してください。
-
SQL問合せを使用。
executeSync()メソッドを含むSQL文を使用して、関連するすべての表の行を取得します。UpdateJSON.updateTableUsingSQLQuery()を参照してください。
次の項では、この例で使用するサンプル・データの一部を示します。例自体の説明はUpdateJSONで始まります。
例に従い、すべてのサンプル・データを確認する場合は、ここからExamplesをダウンロードしてこの例を参照できます。例とそのサンプル・データは、Tableフォルダにあります。
例をコンパイルするときは、kvclient.jarがクラスパスにあることを確認します。次に例を示します。
javac -d . -cp <KVHOME>/lib/kvclient.jar UpdateJSON.javaセキュリティが有効化されていないストアまたはkvliteインスタンスに対してこのプログラムを実行できます。
java -cp .:<KVHOME>/lib/kvclient.jar table.UpdateJSON デフォルトでは、この例ではlocalhost:5000を使用していますが、-hostportパラメータを使用してコマンドラインでヘルパー・ホストおよびポートを設定できます。