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]);