首页 > 解决方案 > 可能将 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();
    }
  }
}

如果我需要提供更多说明,请告诉我。

标签: jsonstringprocessing

解决方案


要比较两个字符串的内容,请使用 equals() 方法,如 if (a.equals(b)),而不是 if (a == b)。字符串是一个对象,因此将它们与 == 运算符进行比较仅比较两个字符串是否存储在相同的内存位置。使用 equals() 方法将确保比较实际内容。(故障排除参考有更长的解释。)

来源:这里


推荐阅读