(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.
jsonLa string a validar.
Esta función solo funciona con strings codificadas en UTF-8.
Nota:
PHP implements a superset of JSON as specified in the original » RFC 7159.
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 ejemplo anterior mostrará :
bool(true) bool(false)