JSON

はじめに

NocoBase では、JSON(JSON) を使用して構造化データまたは半構造化データを保存します。

JSON フィールドは、外部 API のレスポンスの一部、拡張設定、動的な属性など、構造が固定されていないデータの保存に適しています。柔軟である一方、通常のフィールドに比べて、フィルタリング、検証、表示は容易ではありません。

フィールド構造が安定している場合は、ページ設定、権限、フィルタリング、ワークフローで利用しやすいように、明確なフィールドへ分割することをおすすめします。

適用シーン

JSON は次のような業務シーンに適しています。

  • 外部 API の生レスポンス
  • 動的な拡張属性
  • 複雑な設定オブジェクト
  • 構造化して分割できないデータの一時保存

作成設定

データテーブルの「Configure fields」ページで「Add field」をクリックし、「JSON」を選択すると、JSON フィールドを作成できます。

20240512173905

設定説明
Field interfaceフィールドのインターフェースタイプ。JSON には json が対応し、ページ上での入力方法と表示方法を決定します。
Field display name画面上に表示されるフィールド名。たとえば「拡張情報」「API レスポンス」「設定」などです。業務担当者がすぐに理解できる名称を使用することをおすすめします。
Field nameAPI、リレーションフィールド、権限、ワークフローなどで内部参照するためのフィールド識別名です。作成後は通常変更せず、英字、数字、アンダースコアのみ使用でき、先頭は英字でなければなりません。
Field typeデータ層におけるフィールドの型。JSON フィールドでは通常、json または jsonb を使用します。
Default valueデフォルト値。レコードの新規作成時にユーザーが入力しなかった場合、自動的にデフォルト値が入力されます。
Validation rulesバリデーションルール。通常は、有効な JSON であるか、必須項目かどうかを確認します。
Descriptionフィールドの説明。フィールドの意味、入力要件、データソース、管理担当者などを記載するのに適しています。
注意

フィールド名は、作成後にページブロック、権限、ワークフロー、API から参照されます。作成前に命名を確認し、後からの変更による設定調整の負担を避けてください。

フィールドの特徴

JSON フィールドのデフォルトの動作は次のとおりです。

特徴説明
デフォルトの Field interfacejson
デフォルトの Field typejson
選択可能な Field typejsonjsonb。利用できる種類はデータベースの機能によって異なります。
ページコンポーネント編集モードでは JSON 編集コンポーネントまたはテキスト入力コンポーネントを使用します。
フィルタリングフィルタリング機能はデータベースとフィールドマッピングによって異なり、通常は主要なフィルタリング項目として使用しません。
並べ替え通常は並べ替えには使用しません。
バリデーション有効な JSON であるか、必須項目かどうかなどを検証できます。

編集設定

作成後、フィールド右側の「Edit」をクリックすると、JSON フィールドの設定を編集できます。フィールドの編集では主に、表示名、説明、デフォルト値、バリデーションルール、フィールド固有の設定など、NocoBase におけるフィールドの表示方法や使用方法を調整します。

メインデータベースですでに同期されているテーブルのフィールドの場合、編集時には通常、フィールドマッピングを行います。つまり、データベースのフィールドを NocoBase の Field type と Field interface にマッピングします。

設定編集可否説明
Field display nameはい画面上のフィールド表示名を変更します。フィールド識別名は変更されません。
Field nameいいえフィールド識別名は、作成後、通常は編集フォームで変更できません。
Field interface条件付きで可能メインデータベースのフィールドまたは同期されたフィールドは、フィールドマッピング時に調整できます。変更すると、ページ上での入力方法、表示方法、バリデーション方法に影響します。
Field type条件付きで可能メインデータベースのフィールドまたは同期されたフィールドは、フィールドマッピング時に調整できます。変更前に、既存のデータを新しい型で利用できるか確認する必要があります。
Default valueはいレコードの新規作成時に使用するデフォルト値を調整します。
Validation rulesはいフィールドのバリデーションルールを調整します。
Descriptionはいフィールドの意味、入力要件、データソース、管理担当者などを補足します。
注意

Field type や Field interface の切り替えは、単に表示名を変更することとは異なります。フィールドの保存方法、入力コンポーネント、バリデーションルール、フィルタリング条件、ワークフロー変数の使用方法に影響します。既存データが多い場合は、事前にデータ形式が適合するか確認してください。

フィールドの削除

フィールド右側の「Delete」をクリックすると、JSON フィールドを削除できます。メインデータベースでは、複数のフィールドを選択して一括削除することもできます。

メインデータベースで新規作成した JSON フィールドを削除すると、通常はデータベース内の実際の列と、その列に保存されている既存データも同時に削除されます。データベースから同期されたフィールドや外部データソースからマッピングされたフィールドを削除した場合の影響範囲は、対応するデータソースとフィールドの取得元によって異なります。

警告

フィールドを削除すると、ページブロック、フォーム、フィルタリング、権限、ワークフロー、API、インポート・エクスポート、既存データに影響する可能性があります。削除前に、そのフィールドが業務設定で参照されていないか確認してください。

ページ設定での使用

JSON フィールドは、連携や拡張設定のシーンに適しています。 20260710151854

シーン用途
フォームブロックJSON データを入力または編集します。
詳細ブロック構造化された内容を表示します。
ワークフロー外部 API から返されたレスポンスの一部を保存または読み込みます。
API拡張オブジェクトとして渡したり、返したりします。

関連リンク

  • フィールド — フィールドの役割、分類、マッピングロジックについて説明します
  • 通常テーブル — 通常テーブルでのフィールドの作成と管理
  • 複数行テキスト — プレーンテキストの長い内容を保存します
  • 数式 — フィールドに基づいて計算結果を求めます