2012-12-28 14 views
17

Nella mia attività Android sto ricevendo un JSONArray tramite HTTP che contiene i nomi utente. L'array è simile al seguente:Controllare JSONArray per il valore specifico

[{"username":"Julia"},{"username":"Anja"},{"username":"Hans"},{"username":"Sophia"},{"username":"Sarah"}] 

voglio controllare in Android Attività se un determinato nome utente esiste già.

Quale sarebbe il modo più efficiente per farlo? O devo scorrere su tutto l'array? .

risposta

41

utilizzare una funzione String/metodo semplice come

private boolean userexists(JSONArray jsonArray, String usernameToFind){ 
    return jsonArray.toString().contains("\"username\":\""+usernameToFind+"\""); 
} 
+1

bella risposta ... + 1 –

+2

si può anche restituire jsonArray.toString() contiene (usernameToFind); per una soluzione più pulita e più breve. – ralphgabb

+7

Scusate ma questo è i.m.o. una brutta soluzione. Cosa succede se un nome utente contiene in parte un altro nome utente? Quindi se hai "Anja" come username da trovare, ma un altro utente si chiama "Anjatovic". Porterebbe a risultati inaccurati. – Thermometer

Problemi correlati