Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

PHP 8.3: validazione JSON con json_validate()

PHP 8.3 introduce una nuova funzione per la validazione delle stringhe JSON in alternativa a json_decode(): json_validate()
PHP 8.3: validazione JSON con json_validate()
PHP 8.3 introduce una nuova funzione per la validazione delle stringhe JSON in alternativa a json_decode(): json_validate()
Link copiato negli appunti

Attualmente le versioni ancora supportate di PHP sono 3: la 8.0, la 8.1 e la 8.2. Di queste la 8.0 non gode più di un supporto attivo ma continuerà a ricevere aggiornamenti di sicurezza fino a fine novembre 2023. La 8.2, cioè la stabile più recente, godrà invece del supporto attivo fino a dicembre 2024, per poi godere soltanto del "Security Support" fino allo stesso mese dell'anno successivo. Tutte le versioni del ramo 7.x hanno invece raggiunto da tempo la fine del loro ciclo di vita.

PHP 8.3 e json_validate()

Intanto gli sviluppatori del linguaggio proseguono nell'implementazione di PHP 8.3 che, se tutto dovesse andare come previsto, dovrebbe vedere la luce entro l'anno corrente. Le novità attese da questo aggiornamento sono diverse, come per esempio miglioramenti nella gestione delle eccezioni con la funzione unserialize() e il nuovo metodo getBytesFromString(). In questa breve analisi ci concentreremo però sul json_validate(), funzione che introduce una nuova modalità di validazione delle stringhe JSON (JavaScript Object Notation), uno dei formati oggi più utilizzati per lo scambio dei dati.

Prima dell'introduzione di json_validate() la verifica della validità di una stringa era affidata alla funzione json_decode(). Quando viene richiamata quest'ultima effettua un tentativo di decodifica sul parametro che gli viene passato come argomento, la stringa JSON appunto, e se non vengono generati degli errori esso viene considerato valido. json_validate() utilizza un approccio diverso, occupando una quantità inferiore di memoria anche se sfrutta il medesimo parser.

Come utilizzare json_validate()

Un esempio di utilizzo della nuova funzione potrebbe essere il seguente:

$stringa = '{"personaggio": "Edna Caprapall"}';
$controllo = json_validate($stringa);
if ($controllo) {
    // Stringa JSON valida
} else {
    // Stringa JSON non valida
}

La sua chiamata restituisce restituisce TRUE se la stringa è valida, FALSE se non lo è. Con json_decode() dovremmo operare invece in questo modo:

$stringa = '{"personaggio": "Edna Caprapall"}';
$decodifica = json_decode($stringa);
if (json_last_error() === JSON_ERROR_NONE) {
    // Stringa JSON valida
} else {
    // Stringa JSON non valida
}

Con json_validate() non abbiamo bisogno di un controllo di errore tramite json_last_error(), per questo motivo è molto più immediata da utilizzare. Tale funzione risulta quindi utile, ad esempio, quando si ci deve connettere a delle API o se si accetta il caricamento di file JSON da altri utenti sulla propria applicazione.

Ti consigliamo anche