Corsi on-line

JavaScript: convertire un valore in una stringa JSON con JSON.stringify

JSON.stringify è una funzione JavaScript che permette di convertire un valore in una stringa in notazione JSON (JavaScript Object Notation). La sintassi di questa funzione prevede un unico parametro obbligatorio, cioè un valore JavaScript da convertire passato sotto forma di un oggetto o di un array, si tenga conto però che i valori privi di una rappresentazione JSON, è il caso di undefined, non subiranno alcuna conversione venendo rimossi dagli oggetti e sostituiti con null all’interno dell’array.

jsonSono previsti alcuni argomenti opzionali: il primo è una funzione chiamata da JSON.stringify tramite il passaggio di una coppia chiave/valore per ciascun elemento coinvolto nella conversione, il valore di ritorno della funzione/argomento viene poi impiegato al posto di quello originale; il secondo, introdotto per rendere l’output più leggibile, può essere un numero o una stringa e ha il compito di inserire ritorni a carrello, spazi vuoti e simboli per l’interruzione delle righe nel testo JSON restituito.

JSON.stringify è in sostanza una funzione per la serializzazione, questo vuol dire che raccoglie dei parametri e li dispone in sequenza, un semplice esempio basato sugli oggetti potrebbe essere il seguente:

var utente = new Object();
utente.nome = "Mark";
utente.cognome = "Zuckerberg";
utente.indirizzo = ["Menlo Park", "California"];

var leggiagenda = new Array();
leggiagenda[0] = "cognome";
leggiagenda[1] = "indirizzo";
var outputJson = JSON.stringify(utente, leggiagenda, "\t");
document.write(outputJson);

La procedura di conversione porterà alla generazione dell’output in notazione JSON:

{ "cognome": "Zuckerberg", "indirizzo": [ "Menlo Park", "California" ] }

Nel codice proposto JSON.stringify viene utilizzata per convertire l’oggetto utente in un testo in formato JSON, ciò è possibile per qualsiasi componente dell’oggetto ma, nel caso specifico, l’array leggiagenda è stato concepito perché venissero convertiti unicamente gli elementi cognome e indirizzo, ignorando la presenza dell’elemento nome.

Per evitare risultati inattesi è bene ricorda che i valori stringa passati a JSON.stringify devono essere delimitati da apici (“…”), ciò è consentito per tutti i caratteri Unicode tranne quelli che devono essere preceduti dal backslash (\) per l’escape, e cioè: il ritorno a capo (r), la newline (n), la tabulazione orizzontale (t), le sequenze di quattro cifre esadecimali, il backspace (b), gli apici doppi (""), il carattere di controllo formfeed (f) e lo stesso backslash.

Post correlati
I più letti del mese
Tematiche