Decodes the value of a JSON string located at the requested JSON pointer.

- « simdjson_key_exists

- SimdJsonException »

- PHP Manual
- Simdjson Functions
- Decodes the value of a JSON string located at the requested JSON pointer.

# simdjson_key_value

(PECL simdjson >= 2.0.0)

simdjson_key_value — Decodes the value of a JSON string located at the requested JSON pointer.

### Description

simdjson_key_value(
string `$json`,
string `$key`,
bool `$associative` = `false`,
int `$depth` = 512
): mixed

Decodes and returns the value found at the requested JSON pointer.

### Parameters

`json`

  The `json` string being queried and decoded.

  This function only works with UTF-8 encoded strings.

  This function parses valid inputs which json_decode() can decode, provided that they are less than 4 GiB long.

`key`

  The JSON pointer string.

`associative`

  When `true`, JSON objects will be returned as associative arrays; when `false`, JSON objects will be returned as objects.

`depth`

  Maximum nesting depth of the structure being decoded. The value must be greater than `0`, and less than or equal to `2147483647`. Callers should use reasonably small values, because larger depths require more buffer space and will increase the recursion depth, unlike the current json_decode() implementation.

### Return Values

Returns the part of the value encoded in `json` that `key` refers to in appropriate PHP type. Values `true`, `false` and `null` are returned as `true`, `false` and `null` respectively.

### Errors/Exceptions

If `json` or `key` is invalid, or `key` could not be found within `json`, a SimdJsonException is thrown as of PECL simdjson 2.1.0, while previously, a RuntimeException was thrown.

If `depth` is outside the allowed range, a SimdJsonValueError is thrown as of PECL simdjson 3.0.0, while previously, an error of level `E_WARNING` was raised.

### See Also

- json_encode() - Returns the JSON representation of a value
- simdjson_decode() - Decodes a JSON string