Sto usando una mappa JSON per salvare oggetti (ad es. utenti) i cui id sono le chiavi della mappa ma l'oggetto (utente) stesso contiene anche l'id.
JSON
{
"john":{
"username":"john",
"age":30
},
"bob":{
"username":"bob",
"age":40
},
"chris":{
"username":"chris",
"age":50
}
}
Class
class user {
String username;
Integer age;
getUsername() {
return username;
}
}
Voglio usare la mappa per recuperare facilmente gli oggetti ma allo stesso tempo non voglio avere id come chiavi nella mappa e come attributi dell'oggetto. Qual è la soluzione più pulita per questo?
Posso pensare alle seguenti soluzioni:
-
Non utilizzare la mappa ma elencare. , ma l'accesso agli elementi richiederà un'iterazione nell'elenco e non è possibile utilizzare semplici metodi
get(K key)
. -
Non salvare il nome utente nell'oggetto , ma allora
getUsername()
dovrà sapere dove è stato salvato nella mappa che sarà un accoppiamento davvero brutto. - Utilizza le enumerazioni per i nomi utente , ma gli utenti non possono essere letti dinamicamente da JSON.