(PHP 8 >= 8.3.0)
json_validate — Verifica si una string contiene JSON válido
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.
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.
json
La string a validar.
Esta función solo funciona con strings codificadas en UTF-8.
Nota:
PHP implementa un superconjunto de JSON tal como se especifica en la » RFC 7159 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.
Devuelve true
si la string dada es sintácticamente JSON válido, de lo contrario
devuelve false
.
Si depth
está fuera del rango permitido,
se lanza una ValueError.
Si flags
no es un flag válido,
se lanza una ValueError.
Ejemplo #1 Ejemplos de json_validate()
<?php
var_dump(json_validate('{ "test": { "foo": "bar" } }'));
var_dump(json_validate('{ "": "": "" } }'));
?>
El resultado del ejemplo sería:
bool(true) bool(false)