---
title: Extract Multi with JsonPath
description: Extract one or more values from JSON columns using JsonPath mappings.
category: Data Transformation
tags: [json, jsonpath, extract, data transformation]
---

# Extract Multi with JsonPath

## **Description**

The **Extract Multi with JsonPath** activity extracts values from JSON content stored in one or more input columns. Each mapping selects a source column, applies a JsonPath expression, and writes the extracted result to a configured output column.

### **Supported Features**

- **Multiple extraction mappings**: Extract several values in one activity.
- **Multiple source columns**: Each mapping can read from a different JSON column.
- **Custom output columns**: Write every extracted value to a named output column.
- **String extraction option**: Return extracted values as strings when `ExtractAsString` is enabled.
- **Original column retention**: Keep or drop original input columns using `IncludeOriginal`.
- **Lineage support**: Records source column, JsonPath expression, and output column for each mapping.

---

## **Input**

| Type | Required | Description |
| --- | --- | --- |
| Data | Yes | Input rows containing one or more columns with JSON text or JSON-compatible values. |

### **Input Scenarios**

#### **1. Extract One Value From One JSON Column**

| Id | Payload |
| --- | --- |
| 1 | `{"user":{"name":"Alice","age":30}}` |

#### **2. Extract Multiple Values From One JSON Column**

Use multiple mappings with the same `ColumnName` and different JsonPath expressions.

#### **3. Extract Values From Multiple JSON Columns**

Use mappings that reference different source columns, such as `CustomerJson` and `OrderJson`.

---

## **Output**

| Field | Type | Description |
| --- | --- | --- |
| Data | Array | Transformed rows containing extracted output columns. Original columns are retained only when `IncludeOriginal` is enabled. |

### **Example Output**

When `IncludeOriginal` is `true`:

| Id | Payload | CustomerName | CustomerAge |
| --- | --- | --- | --- |
| 1 | `{"user":{"name":"Alice","age":30}}` | Alice | 30 |

When `IncludeOriginal` is `false`:

| CustomerName | CustomerAge |
| --- | --- |
| Alice | 30 |

---

## **Configuration Fields**

| Field Name | Type | Required | Description |
| --- | --- | --- | --- |
| Column Map | Object Array | Yes | List of extraction mappings. Each mapping contains `ColumnName`, `OutputColumn`, `JsonPath`, and `ExtractAsString`. |
| ColumnName | Previous Data Column | Yes | Source column that contains JSON content. |
| OutputColumn | Text | Yes | Name of the output column that receives the extracted value. |
| JsonPath | Text | Yes | JsonPath expression used to select a value from the source JSON. |
| ExtractAsString | Boolean | Yes | When enabled, the extracted value is returned as a string. When disabled, the transformer can preserve the extracted value's native representation where supported. |
| IncludeOriginal | Boolean | No | When enabled, original input columns are retained alongside extracted columns. When disabled, output contains the extracted columns only. |

### **Conditional Field Rendering Rules**

No conditional configuration fields are defined for this activity.

---

## **Sample Input**

| Id | Payload |
| --- | --- |
| 1 | `{"user":{"name":"Alice","age":30},"orders":[{"id":"O-001","amount":120.5}]}` |
| 2 | `{"user":{"name":"Bob","age":42},"orders":[{"id":"O-002","amount":89.0}]}` |

---

## **Sample Configuration**

| ColumnName | OutputColumn | JsonPath | ExtractAsString |
| --- | --- | --- | --- |
| `Payload` | `CustomerName` | `$.user.name` | `true` |
| `Payload` | `CustomerAge` | `$.user.age` | `false` |
| `Payload` | `FirstOrderId` | `$.orders[0].id` | `true` |

| Field | Value |
| --- | --- |
| IncludeOriginal | `true` |

---

## **Sample Output**

| Id | Payload | CustomerName | CustomerAge | FirstOrderId |
| --- | --- | --- | --- | --- |
| 1 | `{"user":{"name":"Alice","age":30},"orders":[{"id":"O-001","amount":120.5}]}` | Alice | 30 | O-001 |
| 2 | `{"user":{"name":"Bob","age":42},"orders":[{"id":"O-002","amount":89.0}]}` | Bob | 42 | O-002 |
