JSONの定義

データは重要です。しかし、さまざまなデータを操作する方法を知ることがさらに重要になっています。プログラマー、開発者、ITプロフェッショナルは、入力された任意の言語のデータ構造を他の言語やプラットフォームで認識できる形式に変換する必要があります。JavaScript Object Notation(JSON)は、これを可能にするデータ交換形式です。

JSONは、人間が読めるテキストであり、軽量で、コーディングが少なくて済み、デシリアライズが必要とされないため処理が高速であるため、多くの開発者に選ばれています。

JSONのデータ型と例

JSONは、解析やシリアル化を必要とせずにJavaScriptプログラムで使用できます。これは、JavaScriptオブジェクトのリテラル、配列、スカラーデータを表すテキストベースの方法です。

JSONは読み取りと書き込みが比較的簡単ですが、ソフトウェアの解析と生成も簡単です。構造化データをシリアル化し、ネットワークを介して通常はサーバーとWebアプリケーションとの間で交換するために、JSONはよく使用されます。

より詳細には、JSONは次のデータ型で構成されます。

  1. 配列
  2. ブール
  3. null
  4. 数値
  5. オブジェクト
  6. 文字列

配列

配列データ型は、順序付けられた値の集合です。JSONでは、配列値は文字列、数値、オブジェクト、配列、ブール値、またはnullです。



{

"Influencers" :   [ 
{
 "name" : "Jaxon", 
 "age" : 42, 
 "Works At" : "Tech News"
}

{
 "name" : "Miller", 
 "age" : 35
 "Works At" : "IT Day"
}

] 
}
	

ブール

ブール値はtrueまたはfalseとして指定されます。ブール値は引用符で囲まれず、文字列値として扱われます。



{ "AllowPartialShipment" : false }
	

null

nullは空の値です。キーに割り当てる値がない場合は、nullとして扱うことができます。



{ "Special Instructions" : null }
	

数値

JSONの数値は、JavaScriptの倍精度浮動小数点形式に従います。



{
  "number_1" : 210,
  "number_2" : 215,
  "number_3" : 21.05,
  "number_4" : 10.05
}
	

オブジェクト

JSONオブジェクトのデータ型は{}(中かっこ)で囲まれた名前または値のペアの集合です。キーは文字列であり、カンマで区切られ、一意である必要があります。



{
  "Influencer" :   { "name" : "Jaxon" ,  "age" : "42" ,  "city" ,  "New York" }
}
	

文字列

JSONの文字列は、バックスラッシュ(\)でエスケープしたUnicode文字で構成されます。



{ "name" : "Jones" }
	

JSONおよびそのデータ型をそれぞれ区別し説明したところで、次はそれらの使用方法について説明します。

JSONの上位の使用事例

JSONのチュートリアル

データベースに保存されているJSONドキュメントを操作するための新機能について説明します。

JSONのユースケース

1.ユーザーが作成したデータからJSONオブジェクトを作成

JSONは一時的なデータの保存に最適です。たとえば、一時データは、Webサイトで送信されたフォームなど、ユーザーが生成したデータです。JSONは、高レベルの相互運用性を提供するために、任意のプログラミング言語のシリアライズ・データ形式として使用することもできます。

2.システム間のデータの転送

Webサイトデータベースには顧客のメールアドレスがありますが、そのアドレスが有効であることをAPIを介して確認する必要があります。JSON形式のアドレスデータをアドレス検証サービスAPIに送信します。

3.アプリケーション・データの設定

アプリケーションを開発する場合、各アプリケーションには、データベースに接続するための資格情報とログファイルパスが必要です。資格情報とログ・ファイルパスは、読み取られて使用可能になるJSONファイルで指定できます。

4.複雑なデータ・モデルの簡素化

JSONは、データ抽出プロセスを予測可能で人間が読めるJSONファイルに変換することで、複雑なドキュメントを有意義と識別されたコンポーネントにまで単純化します。

JSONを多くの開発者が選ぶ理由

JSONは、データ交換とWebサービスの結果を高速化するのに役立つため、APIコードプログラミングとWebサービスで広く普及しています。た、アプリケーション・コードのオブジェクトとシリアル化された表現との間のインピーダンスの不一致を軽減することもできます。テキストベースで軽量であり、解析のための追加コードを必要としない解析しやすいデータ形式が採用されています。Webサービスの場合、大量のデータを返して表示する必要があるため、JSONが理想的な選択肢になります。

JSONの開発者ガイド

Oracle Databaseに保存されているJSONドキュメントを操作するための新機能について説明します。

JSONの開発者ガイドにアクセス

ドキュメント・データベースとは

ドキュメント・データベースは、ドキュメント指向の情報を保存、取得、管理するために設計された非リレーショナル・データベースの一種です。スキーマを事前に定義するのではなく、ドキュメント・データベースでは、ドキュメントで構成されるコレクションにデータを保存できます。NoSQLデータベースとJSON(ドキュメント)データベースはドキュメント・データベースの一種です。コンバージド・データベースであるOracle Databaseは、ネイティブにドキュメント・ストアのワークロードをサポートしています。

ドキュメント・データベースは、リレーショナル(構造化)ではなくドキュメントモデル形式(半構造化)でデータを保存するため、多くの開発者に選ばれています。ドキュメント・データベースの柔軟性がリレーショナル・データベースよりも高いのは、開発者が事前にスキーマを計画する必要がなく、アプリケーション・コードで使用しているものと同じ形式を使用できるためです。これは、SQLデータベースを緻密に計画する必要がないことを意味します。そのため、ドキュメント・データベースは、ソフトウェア開発でありがちな急速に高度になるスキーマに便利です。しかし、速度、サイズ、具体性が犠牲になる可能性があります。

JSONドキュメント・データベースとは

さまざまなJSONデータ型とJSON指向のクエリ言語を使用するアプリケーションは、JSONドキュメント・データベースに保存されているデータとやり取りできます。また、JSONドキュメント・データベースはJSONをネイティブでサポートしています。

JSONドキュメント・データベースの特徴:

  • JSONドキュメント・データベースは、JSONドキュメントとして保存およびクエリするように設計された非リレーショナル・データベースです。
  • データベース内のJSONデータはテキストですが、Oracle Database 21cのネイティブなJSONデータ型など、バイナリ形式を使用したテキストの保存が可能です。
  • データベースに保存されている JSONデータへのアクセスは、Oracle Call Interface (OCI)、.NET、または Java Database Connectivity (JDBC) を使用するなど、他のデータベースデータへのアクセス方法と同様です。
  • JSONドキュメント・データベース内のJSONデータは、データを定義するスキーマを必要とせずに、保存、インデックス付け、クエリができます。

JSONドキュメント・データベースの使用

前述のように、JSONは、ドキュメント交換の標準を設定した軽量のデータ変換形式です。JSONドキュメント・データベースでJSONデータを保存および管理する方法を見てみましょう。

JSONデータの保存

JSONドキュメント・データベースにJSONデータを保存すると、デシリアライズを必要とすることなく、ドキュメントがそのまま保存されます。Oracle Databaseでは、データ型がVARCHAR2、CLOB、BLOB、またはOracle Database 21cではオラクルのネイティブなバイナリJSONデータ型の列を使用します。どのデータ型を使用するかは通常、JSONドキュメントのサイズによって決まります。標準のSQLデータ型を使用してJSONデータをデータベースに保存することは、JSONデータを他のデータ型と同じように操作できることを意味します。

JSONデータの管理

JSONデータは、データ型に関係なく、JSONドキュメント・データベースの表で管理および操作できます。どの表を使用するかは、通常、JSONドキュメントのサイズにより決定されます。Oracle Databaseの機能の1つは、JSONデータを使用して、列を含むテーブルを簡単に複製できることです。

Simple Oracle Document Access(SODA)

Oracle Databaseは、スキーマレス・アプリケーション開発をサポートするために設計されたSODA APIファミリーを提供します。これらのAPIを使用することで、開発者はSQLを使用することなく、Oracle Databaseが管理するJSONドキュメントを操作できます。SODAは、REST、Java、Node.js、Python、PL/SQL、OCIなど、複数のプラットフォームと言語に対応しています。詳細については、こちらをご参照ください。

Oracle Database API for MongoDB

Oracle Database API for MongoDBを使用すると、開発者は、MongoDBドライバ、ツール、フレームワークを使用して、Oracle DatabaseでMongoDBアプリケーションを引き続き構築できます。開発者は、ラップトップでMongoDBアプリケーションを構築し、Oracle Databaseに導入できます。

JSONドキュメント・データベースの使用事例

ネイティブJSONドキュメント・データベースは開発者に詳細を表示、作成、最終的には取得する機能をもたらします。

データベース内の顧客は、名前とアドレスで識別するだけでなく、それぞれの属性を値として割り当てて、パーソナライズされた製品推奨事項やより説得力のあるエンゲージメントの配列に表示できます。

JSONデータの有効性は、そのデータを活用するデータベースにのみ依存します。

エクスペリエンスがさらにパーソナライズされたアプリケーション 魅力的でパーソナライズされたカスタマー・エクスペリエンスを提供し、複数のデジタル資産に関するリアルタイムの推奨事項を提供します。
コンテンツとカタログの管理 さまざまな属性とメタデータを処理するコンテンツ管理および製品カタログサービスを開発します。
統合したIoTアプリケーション クリックストリーム、監視、ロギング、センサーシステム用の統合アプリケーションを作成して、1秒間に数百万のインサートと取得を処理し、データの精度を損なうことなく新しいインサイトを生成します。

JSONデータとAutonomous JSON Database

JSONドキュメント・データベースは、JSONデータ型をネイティブでサポートするだけではありません。簡単な移行、ローコード開発が可能であり、保存と管理に関してはスキーマを変更する必要がありません。Oracle Databaseは、Oracle Database 19c以降のすべてのデプロイメントに対するネイティブなJSONおよびドキュメント・ストアのサポートを提供します。

しかし、サーバーレス環境でOracle Databaseのメリットを活用できるとしたらどうでしょうか。クラウドドキュメント・データベースを使用すると、99.95の可用性を実現しながら、フルマネージドのプラットフォームでプロビジョニング、スケーリング、修復を自動化したJSONアプリケーションを簡単に開発できます。