【问题标题】:Check JSONArray for specific value检查 JSONArray 的特定值
【发布时间】:2012-12-28 15:05:54
【问题描述】:

在我的 Android 活动中,我通过包含用户名的 HTTP 获取 JSONArray。 数组如下所示:

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

如果给定的用户名已经存在,我想检查 Android Activity。

最有效的方法是什么?还是我必须遍历整个数组?

【问题讨论】:

    标签: android json


    【解决方案1】:

    使用简单的字符串函数/方法,如

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

    【讨论】:

    • 也可以返回 jsonArray.toString().contains( usernameToFind );以获得更清洁和更短的解决方案。
    • 对不起,这是 i.m.o.一个糟糕的解决方案。如果用户名部分包含另一个用户名怎么办?因此,如果您将“Anja”作为要查找的用户名,但另一个用户名为“Anjatovic”。这会导致结果不准确。
    • @Thermometer 这就是代码答案寻找开始和结束引号的原因。
    • 糟糕,完全错过了,我的错!
    • 是否可以从匹配的数组中获取对象的索引?
    猜你喜欢
    • 1970-01-01
    • 2017-06-25
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多