Ok ma comunque scritto così non ha granché senso.
Una map viene innanzitutto modellata con un oggetto JSON, ovvero qualcosa racchiuso tra { }
Dentro ci sono associazioni chiave-valore dove chiave deve essere una stringa e valore può essere qualunque tipo rappresentabile in JSON.
Quindi nel tuo caso es.
codice:{ "id1": [ { ......qui un Categoria...... }, { ......qui un Categoria...... }, ........ ], "id2": [ { ......qui un Categoria...... }, { ......qui un Categoria...... }, ........ ], ........ }
Quindi, è questo che vuoi? Ma mi sembra di capire che NON vuoi quei "id1", "id2" ecc...
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
in pratica in categoria devo memorizzarci id nome e un URL xcio non posso passare solo una stringa
Ma non puoi ..... e ripeto: non so a chi/cosa deve andare questo JSON.
Una struttura:
codice:[ { "catKey": { ....oggettoCategoria.... }, "catValues": [ { ....oggettoCategoria.... }, { ....oggettoCategoria.... }, ......... ] }, ......altri..... ]
Potrebbe avere più senso ma strutturalmente è radicalmente differente dal tuo HashMap.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
deve andare ad un client che dovra "serializzarlo" per portarlo in un altro hashmap
"deserializzarlo"
Se vuoi avere una "chiave" fatta da un oggetto Categoria (e quindi non un string), ci sono solo soluzioni sulla falsariga dell'ultima che ti ho fatto.
E comunque non hai detto nulla di utile per chiarire/approfondire ... ed è già mezzanotte, quindi per il momento 'notte.![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ehii buon giorno hai ragione era tardi... Comunque mi serve la Categoria per memorizzare il nome e l'URL in quanto devo far visualizzare il nome della categoria in un TextView e l url per visualizzare una foto tutto in un app android. L'arraylist mi serve per memorizzare le sotto categorie di quella categoria che farò visualizzare in una ListView sempre nell'app.
La classe Categoria è:
public class Categoria
{
private int id_cat;
private String nome;
private String url_photo;
-------GETTER AND SETTER--------
}
In pratica potrei passare prima le categorie in un arraylist e poi passare le sottocategorie in un altro arraylist pero facevo questo per fare un unica query e passare direttamente categorie e sottocategorie per evitare overhead del server... anche se ho qualche dubbio anche su questo ma mi risultava essere più efficiente chiedere subito tutto che in parti..
Spero ora basti come spiegazione![]()
Ultima modifica di Cyber-X91!; 10-11-2015 a 12:59
Sì un po' più chiaro. Ma il punto rimane lo stesso: tu vuoi avere come "chiave" nel JSON un oggetto complesso. Mentre invece nel JSON gli oggetti hanno chiave/valore dove la chiave è SOLO una stringa. Quindi è chiaro che non può essere una banale entry di un oggetto JSON.
Ora, il punto da chiarire rimane solo: hai tu il controllo sia della parte che serializza che di quella che deserializza? Perché se lo hai, puoi fare come ti pare. E se puoi fare come ti aggrada a te ... allora nessuno ti impedisce di "inventarti" una struttura che riesca comunque a modellare il fatto di avere una chiave oggetto Categoria a cui associare una lista di oggetti Categoria.
Che poi è sostanzialmente uno scenario come quello che ho detto prima, avere oggetti JSON del tipo:
codice:{ "catKey": { ....oggettoCategoria.... }, "catValues": [ { ....oggettoCategoria.... }, { ....oggettoCategoria.... }, ......... ] },
Non è chiaramente la associazione "chiave" : valore basilare di JSON ma è comunque un oggetto che modella quanto ti serve.![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Si si posso fare a mio piacimento... non capisco solo il JSON come devo costruirlo scusami...
catKey e catValues sono due chiavi giusto?
Sì, certo. E potresti "modellarle" in Java con una banale classe del tipo:
codice:public class CategoriaToCategorie { private Categoria catKey; private List<Categoria> catValues; // ........ }
E se arrivi ad avere un List<CategoriaToCategorie> lo puoi serializzare ed ottenere esattamente come dicevo prima.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet