54 Oggetto predefinito JSON
L’oggetto predefinito di js JSON permette di parsificare o codificare un oggetto in json o viceversa.
Il JSON è l’abbreviazione di JavaScript Object Notation è uno standard di trasmissione dati indipendente dalla piattaforma o dal linguaggio di programmazione che si utilizza. Il JSON è utilizzato per scambiare informazioni, è basato sugli oggetti di js, ma presenta una sua sintassi.
Dichiariamo un classico oggetto js:
let obj = { name : 'pippo' };
possiamo convertire il contenuto dell’oggetto in una stringa JSON tramite il metodo stringify()
JSON.stringify(obj);
stampiandolo in console
console.log(JSON.stringify(obj));
otteniamo questo output :
{"name":"pippo"}
Questo è la sintassi dello standard JSON, chiave e valore racchiusi tra doppi apici il tutto dentro le graffe.
Qualora dovessimo effettuare l’operazione contraria e quindi trasformare un dato JSON in un oggetto, utilizzeremo il metodo parse()
let jsonString = '{"name" : "Pippo", "lastName" : "Paperino"}'; let mioObj = JSON.parse(jsonString); console.log(mioObj);
i dati JSON sono stati convertiti in un oggetto js (mioObj), infatti se voglio vedere il valore di una singola chiave
console.log(mioObj.name);
Di seguito i tipi di dato ammessi in un oggetto JSON:
number , string, null, object, array, true, false
Ricordando che le chiavi sono solo di tipo stringa, mentre il tipo di dato è riferito ai valori delle chiavi.
Per ragioni di sicurezza le funzioni non sono accettate nell’oggetto JSON, qualora bisognasse inserire una funzione, andrebbe messa come stringa e successivamente parsificata.
Vediamo un esempio con dati ammessi true e un oggetto:
let newJson = '{"isMarried" : true, "indirizzo" : {"via" : "roma" } }'; console.log(JSON.parse(newJson));
se mettiamo il parsing del JSON in un nuovo oggetto newJson2, possiamo richiamare la proprietà via dell’oggetto indirizzo contenuto nell’oggetto newJson2:
let newJson = '{"isMarried" : true, "indirizzo" : {"via" : "roma" } }'; let newJson2 = JSON.parse(newJson); console.log(newJson2.indirizzo.via);
vediamo l’esempio con un array
let newJson = '{"isMarried" : true, "indirizzo" : {"via" : "roma" } , "materie" : [1,2,3,4,5,6] }'; let newJson2 = JSON.parse(newJson); console.log(newJson2.materie[1]);