Sto scrivendo una piccola libreria che ti aiuta a idratare i dati JSON in oggetti. Dato questo esempio JSON:
{
"date": "1970-01-01 00:00:00",
"foobar": "baz",
"user": {
"name": "foobar",
"id": 2
}
}
E il seguente set di regole della libreria:
Hydrator hydrator = new Hydrator
hydrator.add("date", DateTime)
hydrator.add("foobar", String)
User user = hydrator.add("user", User)
user.add("name", String)
user.add("type", Integer)
DataSet data = hydrator.parse(jsonInput)
Finora, sta funzionando alla grande. Ho creato un nodo e ogni nodo può avere figli. Eseguo semplicemente l'intero file JSON, creo le istanze Node per ogni chiave / valore e creo la gerarchia. Quando istempio il nodo, aggiungo alcuni metadati. Quindi, in un grande metodo, passo attraverso l'intero albero dei nodi e idrato a seconda dei metadati. Tuttavia, sto cercando un modo efficace per farlo, poiché ha finito per essere un po 'lento.