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