Skip to content

JSON Adapter

TIP

TTina4JSONAdapter populates a TFDMemTable from static JSON data or automatically from a TTina4RESTRequest master source.

From Static JSON

pascal
// Design-time: set MemTable, DataKey, JSONData in Object Inspector
// Runtime:
Tina4JSONAdapter1.MemTable := FDMemTable1;
Tina4JSONAdapter1.DataKey := 'products';
Tina4JSONAdapter1.JSONData.Text := '{"products": [{"id": "1", "name": "Widget"}, {"id": "2", "name": "Gadget"}]}';
Tina4JSONAdapter1.Execute;

From MasterSource

When linked to a TTina4RESTRequest, the adapter auto-executes whenever the master's OnExecuteDone fires.

pascal
Tina4JSONAdapter1.MasterSource := Tina4RESTRequest1;
Tina4JSONAdapter1.DataKey := 'categories';
Tina4JSONAdapter1.MemTable := FDMemTableCategories;
// Automatically populates when Tina4RESTRequest1 completes

Sync Mode

pascal
Tina4JSONAdapter1.SyncMode := TTina4RestSyncMode.Sync;
Tina4JSONAdapter1.IndexFieldNames := 'id';
// Existing records matched by 'id' are updated; new ones are inserted
Sync ModeBehavior
Clear (default)Empties the table first, then appends all records
SyncMatches records by IndexFieldNames and updates existing rows or inserts new ones