首页 > 解决方案 > android - 到 sqlite 的 json 键值对

问题描述

我完全坚持这一点,需要帮助。

如果另一个值等于某个值,我需要获取该值。

可以说我的数组是:

"people":[
    {"name": "David", "age": "30"}, 
    {"name": "Bob", "age": "20"}, 
    {"name": "Bill", "age": "30"}
]

如果名字是 Bob,我需要返回年龄。我试图这样做,但无济于事。

String People = jsonPart.getString("people");
JSONArray arr = new JSONArray(People);

for (int h = 0; h < arr.length(); h++) {

    JSONObject jsonPart = arr.getJSONObject(h);

    String name = jsonPart.getString("name");

    if (name == "Bob") {

        String age = jsonPart.getString("age");

        break;

    }
}

标签: javaandroidjson

解决方案


您的问题是您不能使用==运算符在 Java 中进行字符串比较。您必须使用String#equals所以替换此行:

if (name == "Bob") {

if(name.equals("Bob")) {

有关更多信息,请参阅此链接:

https://www.baeldung.com/java-compare-stringshttps://docs.oracle.com/javase/tutorial/java/data/comparestrings.html


推荐阅读