Originariamente inviato da whisher
@carlomarx
e si hai proprio ragione mannaggia la fretta ^^

Eheheh
Una cosa che sanno in pochi è che JSON non si limita agli oggetti, ma riguarda anche i valori primitivi. Considera quest'esempio:

codice:
miaStringa = "Ciao\nmondo!!";
mioJSON = "\"Ciao\\nmondo!!\"";
alert(miaStringa);
// Ciao
// mondo!!

alert(JSON.stringify(miaStringa))
// "Ciao\nmondo!!"

alert(JSON.parse(mioJSON));
// Ciao
// mondo!!
Di conseguenza è sbagliato dire che JSON abbia a che fare solo con gli oggetti. Mentre invece la Literal Object Notation sì che riguarda esclusivamente gli oggetti. Possiamo dire che JSON è l'espressione tramite stringhe di tutto ciò che in JavaScript è sintatticamente esprimibile in maniera letterale ({}, [], "", 0, 100, true, false, etc. etc.) con l'eccezione di espressioni regolari e funzioni (che pure possono essere espresse in maniera letterale con /[ESPRESSIONE]/ e function () {...} rispettivamente, ma non fanno comunque parte di JSON). Ciò che non è istanziabile in maniera letterale (l'oggetto Date ad esempio) non rientra in JSON.