json - 可能将 JSONObject 转换为 java 字符串
问题描述
[澄清我正在处理]
我能看到的所有问题都是关于反其道而行之。我有一个变量,它是从天气 API 获取的字符串,我想测试它是否是某个单词(即“雨”或“云”)。我已经设置了此代码的框架,但它似乎不喜欢我检查上面解释的部分。我想这可能是因为我试图将 JSONObject 与普通的 java 字符串进行比较,但是在我看过的所有地方中,我没有得到关于如何转换它的直接答案。有人可以在这里帮助我吗?
我在编码方面不太出色,如果我有点慢,请见谅。
这是制作 JSONObject 的地方
JSONArray cityWeatherObject = city.getJSONArray("weather");
JSONObject weather = cityWeatherObject.getJSONObject(0);
cityDesc = weather.getString("main");
这是我试图将其与字符串进行比较的地方
void drawWeather() {
println(cityDesc, "Clouds");
if (cityDesc == "Rain") {
for (int i = 0; i < rainDrops.length; i++) {
rainDrops[i].wind = cityWind;
rainDrops[i].fall();
rainDrops[i].spawn();
}
}
if (cityDesc == "Clouds") {
println("Clouds selected");
for (int i = 0; i < clouds.length; i++) {
clouds[i].wind = cityWind;
clouds[i].drift();
clouds[i].spawn();
}
}
}
如果我需要提供更多说明,请告诉我。
解决方案
要比较两个字符串的内容,请使用 equals() 方法,如 if (a.equals(b)),而不是 if (a == b)。字符串是一个对象,因此将它们与 == 运算符进行比较仅比较两个字符串是否存储在相同的内存位置。使用 equals() 方法将确保比较实际内容。(故障排除参考有更长的解释。)
来源:这里
推荐阅读
- c - 在 Windows 中发送原始 arp 回复数据包
- excel - 获取命名范围值
- python - 创建模型对象时如何分配外键相关字段
- python - 列 res_company.write_uid_id 不存在
- c - 如何修复这个单词搜索程序?
- rust - How to get the index of the current element being processed in the iteration without a for loop?
- laravel - 在两个 laravel 应用程序之间调用相同的队列
- opengl - 针对特定深度值强制深度测试,而不是片段的实际深度
- ios - geocodePostalAddress - 从邮政编码获取地址
- mysql - 使用 MySQL 将数据插入表中时出错