0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
237 visualizzazioni19 pagine
Json
Il documento descrive JSON (JavaScript Object Notation), uno standard leggero per lo scambio di dati. Viene spiegato come JSON rappresenti oggetti e array e quali tipi di valori supporti. Vengono inoltre presentate alcune librerie Java per la gestione di dati JSON.
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
237 visualizzazioni19 pagine
Json
Il documento descrive JSON (JavaScript Object Notation), uno standard leggero per lo scambio di dati. Viene spiegato come JSON rappresenti oggetti e array e quali tipi di valori supporti. Vengono inoltre presentate alcune librerie Java per la gestione di dati JSON.
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 19
Sommario
1. Obiettivo 2. La rappresentazione JSON 3. Librerie Java per JSON Obiettivo
JSON – JavaScript Object Notation
Obiettivo Nell’integrazione di sistemi informativi, spesso i dati trasferiti sono strutturati (oggetti, strutture, liste, array, ...) Come codificare, tali dati in formato testuale? Oggetti complessi Indipendente dal linguaggio di programmazione Semplice e rapido da generare e da acquisire Adatto sia server-side che client-side Tecniche possibili SOAP (+XML+XMLSchema+WSDL) Perfetto, ma si è dimostrato in molti casi troppo pesante e macchinoso XML + XMLSchema Molto diffuso, spesso manca lo Schema (laziness), poco robusto per evoluzioni dello schema (deve essere condiviso a priori) Text (ad-hoc encoding) Ultima risorsa. Richiede di inventare meccanismi di codifica, delimitazione, strutturazione, ... Per dati semplici basta split&merge JSON Nato nell’integrazione client-side, ora sempre più diffuso La rappresentazione JSON
JSON – JavaScript Object Notation
Principi Tratto dal linguaggio JavaScript: Possiede una sintassi per inizializzare oggetti complessi Può generare oggetti dinamicamente Non esiste il concetto di «Classe» Nuove property possono essere aggiunte dinamicamente Sostanziale equivalenza tra liste, array, mappe, strutture Conversioni automatiche di ‘tipo’ JSON: utilizzare la sintassi per l’inizializzazione, già esistente in JavaScript, per codificare oggetti http://www.json.org RFC4627: http://www.ietf.org/rfc/rfc4627.txt?number=4627 Media Type: application/json Struttura base JSON is built on two structures: “Object”: A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. “Array”: An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. ...e basta! Tutto viene ricondotto a queste due primitive di strutturazione Object Array Values A value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested. Strings Numbers Note (1) Esiste un solo tipo Number, senza distinzione tra interi, float, ... Stringhe Unicode (come in Java), con pochi caratteri di escape Non esiste sintassi per tipi più complessi (date, time, currency, ...) Codificati come stringhe Codificati come property di oggetti Gli array possono anche contenere oggetti di ‘tipo’ diverso tra loro Note (2) Gli oggetti non hanno un ‘tipo’ né una classe semplicemente sono identificati dalle proprietà che contengono (duck-typing). Le proprietà, a loro volta, possono essere altri oggetti o array non è necessario dichiararlo o tipizzarle Esempi { "employees": [ { "firstName":"John" , "lastName":"Doe, "age": 18 }, { "firstName":"Anna" , "lastName":"Smith" , "age": 30}, { "firstName":"Peter" , "lastName":"Jones" , "age": 41} ] } Librerie Java per JSON
JSON – JavaScript Object Notation
Numerosissime librerie Molti framework supportano JSON Mettono a disposizione, anche in forma separata, le relative librerie Operazioni chiave: Da oggetto (Java) a rappresentazione JSON Automatico vs Selettivo Da rappresentazione JSON ad oggetti Java Tradotto in Map/List Mappato su una classe compatibile Da rappresentazione JSON a oggetto interrogabile Esempio: json-simple http://code.google.com/p/json- simple/ Really simple, just use json- simple-1.1.1.jar Metodo .put() per creare oggetti JSON Metodo .get() per interrogare le proprietà degli oggetti Metodo .parse() per leggere un JSON presente in una stringa Encoding with json-simple