java - 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;
}
}
解决方案
您的问题是您不能使用==
运算符在 Java 中进行字符串比较。您必须使用String#equals
所以替换此行:
if (name == "Bob") {
和
if(name.equals("Bob")) {
有关更多信息,请参阅此链接:
https://www.baeldung.com/java-compare-strings 和 https://docs.oracle.com/javase/tutorial/java/data/comparestrings.html
推荐阅读
- google-apps-script - 仅附加唯一行
- excel - 使用 VBA 在弹出窗口上自动按 Enter
- sharepoint-online - 可以从 SharePoint getItems() 方法获取哪些列表项数据?
- javascript - 从另一个文件调用异步函数
- ruby-on-rails - 显示 json 格式的图像 Ruby on rails
- ruby-on-rails - 带有 Ruby IO 文件对象的回形针 gem
- c# - 为什么 ObservableCollection 中的验证红色框出现在容器的左上角?
- c# - 将 Asp.Net Core 2.2 App 迁移到 3.1 时的整数序列化
- r - 如何移回工作目录中的文件夹,然后移回另一个
- reactjs - React 没有渲染我的 javascript 文件