Documentación offline PHP master

json_validate

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

json_validate

Verifica si una string contiene JSON válido

Descripción#

json_validate(string $json, [int $depth], [int $flags]): bool
```php

Devuelve si la `string` dada es sintácticamente JSON válido. Si `json_validate` devuelve `true`, `json_decode` decodificará con éxito la string dada utilizando los mismos `depth` y `flags`.

Si `json_validate` devuelve `false`, la causa puede ser recuperada utilizando `json_last_error` y `json_last_error_msg`.

`json_validate` utiliza menos memoria que `json_decode` si el contenido JSON decodificado no es utilizado, ya que no necesita construir la estructura de array o de objeto que contiene el contenido.

> [!CAUTION]
> Llamar a `json_validate` inmediatamente antes de `json_decode` analizará innecesariamente la string dos veces, ya que `json_decode` realiza implícitamente una validación durante la decodificación.
>
> `json_validate` no debe ser utilizado a menos que la decodificación del contenido JSON no sea inmediatamente utilizada y que sea necesario saber si la string contiene JSON válido.

## Parámetros

`json`  
La string a validar.

Esta función solo funciona con strings codificadas en UTF-8.

> [!NOTE]
> PHP implementa un superconjunto de JSON tal como se especifica en el [RFC 7159](https://datatracker.ietf.org/doc/html/rfc7159) original.

`depth`  
El nivel máximo de profundidad de la estructura a decodificar. El valor debe ser mayor que `0`, y menor o igual a `2147483647`.

`flags`  
Actualmente, solo `JSON_INVALID_UTF8_IGNORE` es aceptado.

## Valores devueltos

Devuelve `true` si la string dada es sintácticamente JSON válido, de lo contrario devuelve `false`.

## Errores/Excepciones

Si `depth` está fuera del rango permitido, se lanza una `ValueError`.

Si `flags` no es un flag válido, se lanza una `ValueError`.

## Ejemplos

Ejemplos de `json_validate`

```php

El ejemplo anterior mostrará:

bool(true)
bool(false)

Véase también#

json_decode, json_last_error, json_last_error_msg