Examples
Five practical examples covering all six JSON Transform operations.
Example 1 — Parse: Deserialize an HTTP Response Body
An HTTP Request node returns a raw JSON string in its body field. Parse it into a live object before accessing individual fields in downstream nodes.
{
"node_type": "JsonTransform",
"name": "ParseApiResponse",
"config": {
"operation": "parse",
"source": "{@ output.CallExternalApi.body }"
}
}
// source value: '{"status":"ok","data":{"userId":42,"plan":"pro"}}'
// transformed_data: { status: "ok", data: { userId: 42, plan: "pro" } }
// Access: {@ output.ParseApiResponse.transformed_data.data.userId } → 42
Example 2 — Stringify: Format a Payload for an Email Debug Log
A workflow processes a complex order object. Serialize it to a human-readable JSON string to embed in a diagnostic email sent to the engineering team.
{
"node_type": "JsonTransform",
"name": "StringifyOrderPayload",
"config": {
"operation": "stringify",
"source": "{@ var.orderRecord }"
}
}
// transformed_data (string):
// {
// "orderId": "ORD-1234",
// "customer": "Jane Doe",
// "total": 486.00
// }
{@ output.StringifyOrderPayload.transformed_data }.Example 3 — Extract: Pull a Single Nested Field
A deep API response contains a payment authorization code buried at response.payment.authorization.code. Extract just this value without setting up a full Data Mapping node.
{
"node_type": "JsonTransform",
"name": "ExtractAuthCode",
"config": {
"operation": "extract",
"source_output": "ParsePaymentResponse",
"property": "response.payment.authorization.code"
}
}
// transformed_data: "AUTH-XK9M24"
output.ExtractAuthCode.transformed_data = "AUTH-XK9M24". Assign to a variable for use in the receipt email and audit log.Example 4 — Merge: Apply User Preference Overrides
A base notification configuration is defined in a global settings object. Per-user preferences should override specific fields. Merge them so user preferences take priority.
{
"node_type": "JsonTransform",
"name": "ApplyUserPreferences",
"config": {
"operation": "merge",
"source": "{@ var.defaultNotificationConfig }",
"merge_with": "{@ output.GetUserPreferences.data }"
}
}
// defaultNotificationConfig: { channel: "email", frequency: "daily", language: "en" }
// GetUserPreferences.data: { frequency: "weekly", language: "es" }
// transformed_data: { channel: "email", frequency: "weekly", language: "es" }
Example 5 — Filter: Clean Null Entries from a Product List
A legacy inventory API returns an array that may contain null placeholders for deleted items. Remove them before processing.
{
"node_type": "JsonTransform",
"name": "CleanProductList",
"config": {
"operation": "filter",
"source_output": "GetInventory"
}
}
// GetInventory output: ["Widget A", null, "Widget B", null, null, "Widget C"]
// transformed_data: ["Widget A", "Widget B", "Widget C"]