Quando usare JSON?
Se avrete bisogno di un software che comunichi con un browser o un'applicazione mobile, dovreste usare JSON come formato dati. L'utilizzo di un formato come XML è una scelta ormai obsoleta e non offre tutte le possibilita' attualmente in circolazione. Nel caso di comunicazione da server a server, potrebbe tuttavia essere meglio utilizzare un framework di serializzazione come Apache Avro o Apache Thrift. Nel caso specifico JSON non sarebbe una cattiva scelta, e potrebbe essere esattamente quello che ti serve, e rispondere bene per il web e la comunicazione mobile. Ma se stai utilizzando un database NoSQL, sarai praticamente bloccato. Buona regola trattandosi di database relazionali che supportano JSON, è quella di usarlo il meno possibile. I database relazionali sono creati per dati strutturati che si adattano a un particolare schema. Mentre la maggior parte ora supporta dati più flessibili sotto forma di JSON, ci si può aspettare un risultato positivo quando si interrogano le proprietà all'interno di questi oggetti JSON. JSON è il formato onnipresente e di fatto il piu' utilizzato per l'invio di dati tra server web e browser e applicazioni mobili. Il suo design semplice e la sua flessibilità lo rendono facile da leggere e comprendere e, nella maggior parte dei casi, facile da manipolare nel linguaggio di programmazione di vostra scelta. La mancanza di uno schema rigoroso permette la flessibilità del formato, ma tale flessibilità rende a volte difficile garantire la capacita' di leggere e scrivere JSON correttamente.
Utilità JSON
Se stai cercando di manipolare o esaminare direttamente i dati codificati JSON, senza scriverne il codice da solo, ci sono una serie di utility online che possono aiutarti. Tutti gli equivalenti programmatici nelle librerie di codice elencate sopra, ed è possibile tagliare e incollare il codice JSON in questi strumenti basati su browser per aiutarvi a capire meglio JSON o eseguire analisi rapide:
* JSON Formatter: JSONLint formatterà e convaliderà il codice JSON arbitrario.
* JSON Viewer: Stack.hu offre un sito che creerà un albero interattivo per aiutarvi a capire la struttura del codice JSON.
* JSON Beautifier: Se volete “pretty print”il vostro codice JSON, con la colorazione della sintassi e simili, Prettydiff fara' al vostro caso.
* JSON Converter: Hai bisogno di spostare rapidamente i dati da un formato JSON in qualcos'altro? Convertcsv.com ha strumenti che possono convertire JSON in CSV (che può essere aperto in Excel) o XML.
Limitazioni di JSON
Anche se JSON è un formato di dati relativamente conciso e flessibile facile da usare in molti linguaggi di programmazione, ci sono alcuni svantaggi . Ecco le cinque principali limitazioni:
* Nessuno schema -- Da un lato, questo significa che si ha una totale flessibilità per rappresentare i dati in qualsiasi modo si voglia. Dall'altro, significa che si potrebbero creare dati deformati in modo molto semplice.
* Un solo tipo di numero: il formato a virgola mobile IEEE-754 a doppia precisione -- Da una parte rende il tutto piu' semplice, ma significa anche che non sara' possibile sfruttare i diversi tipi di numero disponibili in molti linguaggi di programmazione.
* Nessun tipo di data -- Questa omissione significa che gli sviluppatori devono ricorrere all'uso di rappresentazioni di stringhe di date, che portano a discrepanze di formattazione, o devono rappresentare le date sotto forma di millisecondi dall'epoca (1 gennaio 1970).
* Nessun commento. Ciò rende impossibile annotare i campi in linea, richiedendo ulteriore documentazione e aumentando la probabilità di malintesi.
* Verbosità -- Mentre JSON è meno verboso di XML, non è il più conciso formato di scambio dati. Per servizi ad alto volume o servizi speciali, dovrai utilizzare formati di dati più efficienti.