2012-12-28 20 views
17

私のAndroidのアクティビティでは、HTTPのcontaingユーザー名でJSONArrayを取得しています。 アレイは次のようになります。特定の値のJSONArrayを確認してください

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

私は与えられたユーザー名が既に存在する場合はAndroidの活動にチェックしたいです。

これを行う最も効率的な方法は何でしょうか?または、配列全体を反復処理する必要がありますか?

答えて

41

あなたも(jsonArray.toStringを返すことができ、単純な文字列関数/

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

ような方法の素敵な答えは... + 1 –

+2

を使用)(usernameToFind)が含まれています。;よりクリーンで短いソリューションのために。 – ralphgabb

+7

申し訳ありませんが、これはi.m.oです。悪い解決策。ユーザー名に部分的に別のユーザー名が含まれている場合はどうなりますか?だからあなたが見つけるためにユーザー名として "Anja"を持っていれば、別のユーザーは "Anjatovic"と呼ばれます。不正確な結果につながります。 – Thermometer

関連する問題