SQLite の JSON

Bilal Shahid 2023年6月21日
  1. SQLite JSON とは
  2. JSON オブジェクトを SQLite データベースに格納する方法
  3. SQLite は JSON データをどのように使用するか
  4. JSON 関数
SQLite の JSON

SQLite は C 言語ソフトウェア ライブラリであり、オープンソースであり、フル機能、高速、信頼性、サーバーレス、構成不要、自己完結型の SQL データベース エンジンを実行するように構築されています。 このデータベース エンジンは、世界中のさまざまなアプリケーションやデバイスで使用されています。

通常、携帯電話、コンピューター、および日常生活で使用される他のいくつかのアプリケーション用に組み込まれています。 SQLite のライトは、データベースの管理、セットアップ、および必要なリソースに関して軽量です。

JSON は、JavaScript 配列、オブジェクト リテラル、およびスケーラー データを表すテキストベースの方法です。 すべてのプログラミング言語と互換性があり、読み書きが簡単で、ソフトウェアが解析できます。

SQLite では、JSON 関数と演算子がデフォルトでビルドされます。

SQLite JSON とは

JSONはJavaScript Object Notationの略です。 JavaScript とは関係ありません。 名前が似ているのは、JSON も JavaScript と同じようにオブジェクトの形式でデータを保存するという事実に由来しています。

これは、データの転送と保存を目的とした軽量の形式です。 自己記述的でわかりやすいのが特徴です。

その機能は、データがサーバーから Web ページに送信されるときに実行されることがよくあります。 JSON 形式は、JavaScript オブジェクトの作成に必要なコードと構文的に同じです。

JSON は、構造化データをシリアル化し、サーバーと Web アプリケーション間で交換するためによく使用されます。

JSON データを使用すると、多くの利点が得られます。 読みやすく、理解しやすいように、簡単な形式になっています。

この言語は独立しており、すべてのプログラミング言語と幅広いブラウザーをサポートしています。 構文は単純なので、データの解析とその実行はさらに高速になります。

サーバーの解析が高速になるため、ユーザーはクエリに対する応答をすばやく取得できます。

近年、公開 API エンドポイントで JSON の人気が高まっています。 SQLite には、必要な方法で JSON データを変更するための JSON 関数が追加されています。

これらの関数と SQLite トリガーは、JSON を任意のテーブルに自動的に適用できます。 2015 年に SQLite 3.9.0 でサポートが追加されました。

JSON オブジェクトを SQLite データベースに格納する方法

SQLite JSON を扱う際、多くの人が JSON オブジェクトを SQLite データベースに保存することについて混乱しています。 これは、JSONObject を文字列に変換し、TEXT/VARCHAR として保存することで実行できます。

同じ列を取得しながら、文字列を JSONObject に変換します。

例えば:

  1. DB に書き込む

    String insertedString = jsonObject.toString();
    -- insert this string into the database DB
    
  2. DB から読み込む

    String jsonstr = Read_column_value_logic_here
    JSONObject jsonObject = new JSONObject(jsonstr);
    

これに代わる方法は、SQLite の新しい JSON 拡張機能を使用することです。 これにより、保存された JSON に対して特定のレベルのクエリを実行できます。

VARCHAR または TEXT を使用して JSON 文字列を格納した場合、クエリを実行することはできません。

JavaScript オブジェクトがある場合、それを SQLite に格納するには、JSON に変換してテキストとして格納する必要があります。 バージョン 3.9 より前では、JavaScript データの変数をデータベースに照会することは、JSON データの一部であるため不可能でした。

JSON データからキーを抽出し、データベース キーを作成する必要があります。

SQLite で JSON データを使用するもう 1つの方法は、SQLite が使い慣れた形式に変換することです。 これを行うには、最初に .json.sql に変換します。

これは、任意のオンライン ツールで実行できます。 目的のファイルを選択して、簡単に .sql に変換します。

ファイルの変換が完了したら、ダウンロードします。 SQLite で開くには、.sql.sqlite に変換します。

これを実現するためにオンラインで利用できるさまざまなツールがあります。

SQLite は JSON データをどのように使用するか

データはSQLiteのクエリで変更できる形式に変換されているので、JSONデータで作成したデータをSQLiteで表示することができます。

これは、後で SQLite クエリを使用して編集できるようになったため、編集することもできます。 SQLite の組み込み関数と演算子を使用すると、次のことができます。

  1. JSON テキストを解析し、値の読み取りと変更に進むことができます。
  2. Transact クエリの結果を JSON 形式でフォーマットできます。
  3. 変換された JSON オブジェクトに対して任意の Transact クエリを実行できます。
  4. JSON オブジェクトの配列を表形式に変換できます。
  5. JSON テキストから値を抽出し、クエリの実行に使用できます。
  6. JSON 値を変更する

JSON 関数

JSON 関数を使用すると、NoSQL とリレーショナルの概念をすべて同じデータベースで組み合わせることができます。 これにより、従来のリレーショナル列を、同じテーブル内の JSON テキストを含む列と組み合わせて、リレーショナル構造で JSON ドキュメントを解析およびインポートできます。

SQLite は、JSON 値に対して 15 の関数と 2つの演算子をサポートしています。 また、JSON string—SQLite を分解するために使用できる 2つのテーブル値関数で構成され、JSON は基本的なテキストとして格納されます。

下位互換性の制約により、SQLite は整数、浮動小数点数、テキスト、BLOB、および NULL 値のみを格納できます。 ここで、別の "JSON" タイプのデータを追加することはできません。

現時点では、SQLite は JSON のバイナリ エンコーディングをサポートしていません。 JSON を最初の引数として受け入れる関数では、引数が JSON、文字列、配列、オブジェクト、数値、または NULL でなければならないことに注意することが重要です。

JSON 形式は構文的に JavaScript と同じであるため、オブジェクトを作成するためのコードは同じです。 この類似性により、JavaScript プログラムは JSON データを JavaScript オブジェクトに簡単に変換できます。

JSON データは、サーバーから Web サイトにデータを転送する形式です。 この記事では、JSON データとその SQLite への統合を処理する際に存在するいくつかのレイヤーについて詳しく概説しました。

著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub