Flatten json object
Description
The Flatten Json Object activity transforms JSON strings stored in column(s) into individual fields. It parses and expands nested properties from the selected columns, appending the new keys as new columns to the dataset.
Use Case
Often used when JSON data is stored in a single column (e.g., API responses, logs). This activity extracts nested keys into flat columns for easier filtering, analysis, or mapping in downstream steps.
Input
Type | Description |
---|---|
Data | Dataset with one or more JSON columns. |
Output
Type | Description |
---|---|
Transformed Data | Original dataset with JSON fields expanded into columns. |
Configuration Fields
Field Name | Required | Description |
---|---|---|
Columns | Yes | List of column(s) containing JSON objects to be flattened. |
Sample Input
employee_id | name | age | contact |
---|---|---|---|
E001 | John Doe | 32 | {“email”:“john.doe@example.com”, “phone”:“+1-555-1234”} |
E002 | Jane Smith | 28 | {“email”:“jane.smith@example.com”, “phone”:“+1-555-5678”} |
E003 | Ali Khan | 40 | {“email”:“ali.khan@example.com”, “phone”:“+1-555-9876”} |
E004 | Maria Gonzalez | 35 | {“email”:“maria.gonzalez@example.com”, “phone”:“+1-555-2468”} |
E005 | Rahul Sharma | 30 | {“email”:“rahul.sharma@example.com”, “phone”:“+1-555-7890”} |
Sample Configuration
Field | Value |
---|---|
Columns | contact |
Sample Output
employee_id | name | age | contact | contact_email | contact_phone |
---|---|---|---|---|---|
E001 | John Doe | 32 | {“email”:“john.doe@example.com”, “phone”:“+1-555-1234”} | john.doe@example.com | +1-555-1234 |
E002 | Jane Smith | 28 | {“email”:“jane.smith@example.com”, “phone”:“+1-555-5678”} | jane.smith@example.com | +1-555-5678 |
E003 | Ali Khan | 40 | {“email”:“ali.khan@example.com”, “phone”:“+1-555-9876”} | ali.khan@example.com | +1-555-9876 |
E004 | Maria Gonzalez | 35 | {“email”:“maria.gonzalez@example.com”, “phone”:“+1-555-2468”} | maria.gonzalez@example.com | +1-555-2468 |
E005 | Rahul Sharma | 30 | {“email”:“rahul.sharma@example.com”, “phone”:“+1-555-7890”} | rahul.sharma@example.com | +1-555-7890 |
The new columns will be named based on the original column name and the JSON key (e.g.,
contact_email
,contact_phone
).