La nueva función json_validate() en PHP 8.3 — Amit Merchant — Un blog sobre PHP, JavaScript y más

Hoy, si queremos validar una cadena JSON en PHP, podemos usar el json_decode() función. Así es como funciona.

$json = '{"name": "John Doe"}';
$data = json_decode($json);

if (json_last_error() === JSON_ERROR_NONE) {
    // Valid JSON
} else {
    // Invalid JSON
}

Como puede ver, primero podemos decodificar la cadena JSON usando el json_decode() función, luego verifique si el json_last_error() la función devuelve JSON_ERROR_NONE (basado en la última decodificación JSON) o no. si vuelve JSON_ERROR_NONE, significa que la cadena JSON es válida. De lo contrario, no es válido.

Pero, esa no es la mejor manera de hacerlo. En mi opinión, es un poco pesado y no muy legible.

Índice
  1. Entrar json_validate() función
  2. Entre bastidores

Entrar json_validate() función

Y es por eso que PHP 8.3 presentará un nuevo json_validate() función que se puede utilizar para validar una cadena JSON. Así que podemos hacer algo como esto.

$json = '{"name": "John Doe"}';
$valid = json_validate($json);

if ($valid) {
    // Valid JSON
} else {
    // Invalid JSON
}

¡Y es todo! los json_validate() la función devuelve true si la cadena JSON es válida y false si no es válido. No confíes en el json_last_error() función. Es mucho más legible, simple y fácil de usar.

Aquí está la firma exacta del json_validate() función.

json_validate(string $json, int $depth = 512, int $flags = 0): bool
  • $json - La cadena JSON para validar.
  • $depth - La profundidad máxima de anidamiento de la estructura que se está decodificando. Debe ser mayor que cero.
  • $flags - Máscara de bits de banderas de decodificación JSON. Consulte la función json_decode() para obtener más detalles.

Entre bastidores

Debajo del capó, el json_validate() La función utiliza exactamente el mismo analizador JSON que ya existe en el núcleo de PHP, que también es utilizado por json_decode()esto asegura que lo que es válido en json_validate() también es válido en json_decode().

Puede obtener más información sobre el json_validate() función en el RFC.

Si quieres conocer otros artículos parecidos a La nueva función json_validate() en PHP 8.3 — Amit Merchant — Un blog sobre PHP, JavaScript y más puedes visitar la categoría Código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas