set_data_table_rows_from_json
Upsert multiple DataTable rows from JSON in one import and save, deep-merging into existing values and creating missing rows from defaults. Returns per-row results and summary.
Instructions
Upsert many DataTable rows with one native JSON import and one save, each deep-merged onto its current values like set_data_table_row_fields; missing rows are created from defaults. Returns per-row results and a summary. A failed row does not fail the call: check summary.failed and saved.
Returns: { table_path, row_struct, results:{ row_name:{ success, created, updated_existing, changed_columns:[..], unchanged_despite_request:[..], unknown_columns?:[..], error? } }, summary:{ total, created, updated, failed }, saved, row_count, problems:[..] }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | Object of { row_name: {column:value} }, or that object as a JSON string; each fields object is overlaid non-destructively (a value that is a JSON object deep-merges into the existing struct member, scalars/arrays replace) | |
| save | No | When true (default) save the package once after all rows are written; when false leave it dirty in memory | |
| data_table | No | Alias of table_path (the DataTable asset path, e.g. "/Game/Data/DT_Items"); table_path wins when both are given | |
| table_path | No | Full asset path of the DataTable (data_table also accepted) |