Back to Nocobase

JSON

docs/docs/en/data-sources/data-modeling/collection-fields/advanced/json.md

2.1.275.2 KB
Original Source

JSON

Introduction

In NocoBase, the JSON field stores structured or semi-structured data.

It is suitable for external API response fragments, extended configuration, dynamic attributes, and other data with an unstable structure. It is flexible, but harder to filter, validate, and display than ordinary fields. When the structure is stable, split it into explicit fields first.

Use cases

JSON fields are suitable for these business scenarios:

  • Raw external API responses
  • Dynamic extended attributes
  • Complex configuration objects
  • Temporary data that cannot yet be split into structured fields

Create and configure

On the collection's Configure fields page, click Add field and select JSON to create this field.

SettingDescription
Field interfaceThe field interface. JSON uses json, which determines how the field is entered and displayed in pages.
Field display nameThe name displayed for the field, such as Extended information, API response, or Configuration. Use a name that business users can recognize.
Field nameThe field identifier used internally by APIs, relation fields, permissions, and workflows. It usually cannot be changed after creation. It supports only letters, numbers, and underscores, and must begin with a letter.
Field typeThe data-layer type. JSON uses json by default.
Default valueThe default value. When a new record has no value, NocoBase can fill this value automatically.
Validation rulesValidation rules. Supports valid-JSON and required validation.
DescriptionA field description. Record the field meaning, entry requirements, data source, or maintainer.

:::warning Note

Field names are referenced by page blocks, permissions, workflows, and APIs after creation. Confirm the name before creating the field to avoid later configuration changes.

:::

Field behavior

The default behavior of a JSON field is as follows:

BehaviorDescription
Default Field interfacejson.
Default Field typejson.
Available Field typesjson, jsonb.
Page componentUses a JSON editor or text-input component in edit mode.
FilteringFiltering depends on the database and field mapping; it is usually not a primary filter field.
SortingIt is usually not used for sorting.
ValidationSupports valid-JSON and required validation.

Edit configuration

After creation, click Edit beside the field to edit its configuration. Edit fields to adjust how they are displayed and used in NocoBase, such as the display name, description, default value, validation rules, or field-specific settings.

When a field comes from a synchronized main-database table, editing usually maps the database field to a NocoBase Field type and Field interface.

SettingCan be editedDescription
Field display nameYesChanges the name displayed in the interface without changing the field identifier.
Field nameNoThe field identifier normally cannot be changed in the edit form after creation.
Field interfaceConditionalMain-database fields and synchronized fields can be adjusted during field mapping. Changes affect page input, display, and validation.
Field typeConditionalMain-database fields and synchronized fields can be adjusted during field mapping. Confirm that existing values can be used by the new type first.
Default valueYesAdjusts the default value for new records.
Validation rulesYesAdjusts field validation rules.
DescriptionYesAdds the field meaning, entry requirements, data source, or maintainer.

:::warning Note

Changing a Field type or Field interface is more than changing a display name. It affects field storage, input components, validation rules, filters, and workflow-variable usage. When the field contains substantial existing data, confirm that its data format is compatible first.

:::

Delete field

Click Delete beside a JSON field to delete it. You can also select multiple fields and delete them in the main data source.

Deleting a JSON field created in the main database usually also deletes the actual database column and its values. For a synchronized or external-data-source field, the impact depends on the corresponding data source and field origin.

:::danger Warning

Deleting a field can affect page blocks, forms, filters, permissions, workflows, APIs, imports and exports, and existing data. Confirm that the field is no longer referenced by business configuration before deleting it.

:::

Use in pages

JSON fields are suitable for integration and extended-configuration scenarios.

ScenarioUse
Form blockEnter or edit JSON data.
Details blockDisplay structured content.
WorkflowsStore or read external API response fragments.
APIsPass or return extended objects.