YAJT

About

Tutorial

Links

Sourceforge

Getting Started

Tutto è racchiuso in due package principali:

Il primo package contiene un insieme di interfacce che definiscono gli oggetti JSON ed i relativi metodi di accesso, mentre il secondo ne contiene, intuitivamente, l'implementazione.
Cominciamo quindi con il JSONObject, l'elemento fondamentale. Ottenerne una istanza è semplicissimo:
JSONObject myObj = JSONFactory.newObject();
Il JSONObject è sommariamente, una "mappa" di chiavi-valori, dove le chiavi sono stringhe, i valori possono essere qualsiasi oggetto definito nell'implementazione della VM che si sta utilizzando:
myObj.put("myId": new Integer(123));
myObj.put("mySmalltext": "sample text");
myObj.put("myBooleanvalue": Boolean.TRUE);
myObj.put("myNullValue": null);
myObj.put("myDate": new java.util.Date());
Il secondo oggetto fondamentale nella manipolazione di strutture dati JSON è la definizione di JSONArray, una sorta di java.util.List con alcune limitazioni, che può immagazzinare oggetti di qualsiasi natura, compresi JSONObject come da definizione:
JSONArray myArr = JSONFactory.newArray();
myArr.addElement(new java.util.Date());
myArr.addElement(new Integer(123));
myArr.addElement("sample text");
myArr.addElement(Boolean.TRUE);
myArr.addElement(null);

JSONObject mySecondObj = JSONFactory.newObject();
myArr.addElement(mySecondObj);

myObj.put("myArray", myArr);
Attenzione: Si suppone che le strutture dati che andranno man mano a costruirsi non siano cicliche, come potrebberlo essere per esempio:
myArr.addElement(myObj);
myObj.myObj.put("myArray", myArr);
Versioni future di yajt conterranno controlli affinchè cioò non avvenga, comunque al momento questo codice malevolo potrebbe generare dei loop infiniti in fase di serializzazione.