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
パラメータを使用してコマンドラインでヘルパー・ホストおよびポートを設定できます。