> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.firebolt.io/feedback

```json
{
  "path": "/reference-sql/functions-reference/json/json-pointer-extract-text",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

> Reference material for JSON_POINTER_EXTRACT_TEXT function

# JSON_POINTER_EXTRACT_TEXT

Accepts a JSON document and pointer expression. If the key exists and the value is a JSON string, `JSON_POINTER_EXTRACT_TEXT` returns it as SQL `TEXT`, removing outer quotes and decoding characters. Otherwise, it returns `NULL`.

## Syntax

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
JSON_POINTER_EXTRACT_TEXT
(<json>, <json_pointer_expression>)
```

## Parameters

| Parameter                   | Description                                                                                                                                                                                                            | Supported input types |
| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- |
| `<json>`                    | The JSON document.                                                                                                                                                                                                     | `TEXT`                |
| `<json_pointer_expression>` | A JSON pointer expression to the location of the desired sub-document in the JSON. For more information, see [JSON pointer expression syntax](/reference-sql/functions-reference/json#json-pointer-expression-syntax). | `TEXT`                |

## Return Type

`TEXT`

* If any input values are `NULL`, the function will return `NULL`.

## Examples

For the JSON document indicated by `<json_common_example>` below,
see [JSON common example](/reference-sql/functions-reference/json#json-common-example). The **returned result** is based on the following example.

**Example**

The following code example extracts the value at path `/value/uid` from the JSON document, removes the outermost quotes, and returns the result as SQL `TEXT`, labeled as `res`:

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT JSON_POINTER_EXTRACT_TEXT('{"value": {"uid": "987654"} }', '/value/uid') AS res
```

**Returns**

The previous code example returns the following:

| res (TEXT) |
| :--------- |
| 987654     |

**Example**

The following code example attempts to extract the value at the path `/value/no_such_key` from the JSON document:

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT JSON_POINTER_EXTRACT_TEXT('{"value": {"uid": "987654"} }', '/value/no_such_key') AS res
```

**Returns**

The previous code example returns the `NULL` with the result labeled as `res`, because the key does not exist:

| res (TEXT) |
| :--------- |
| NULL       |

**Example**

The following code example attempts to extract the value at the path `/value/code` from the JSON document:

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT JSON_POINTER_EXTRACT_TEXT('{"value": {"code": 12} }', '/value/code') AS res
```

**Returns**

The previous code example returns `NULL`, labeled as `res` because the value at the specified path is an integer, not a string:

| res (TEXT) |
| :--------- |
| NULL       |

**Example**

The following code example navigates to the third element at index `2` of the array at `/value/keywords` in the JSON document, removes the outermost quotes, and returns it as SQL `TEXT`, labeled as `res`:

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT JSON_POINTER_EXTRACT_TEXT(<json_common_example>,'/value/keywords/2') AS res
```

**Returns**

The previous code example returns `"analytics"`, which is the third element in the JSON array, which uses zero-based indexing:

| res (TEXT) |
| :--------- |
| analytics  |
