HTTP获取请求 - 不兼容的类型

时间:2017-12-13 18:53:52

标签: java android httprequest bufferedreader

我正在运行基于Yahoo Weather API的基本Get Request。这是来自Youtube的例子。我无法让它运行..我在doInBackground方法的HTTP请求中得到运行时错误。 (见下文)。

我在手机上收到错误消息"类型为Java.lang.boolean的值True无法转换为JSON对象"。所以我需要返回一个String。但是当我改变" line"的类型时在String中它给出了错误"不兼容的类型 - 必需的java.lang.String - found Boolean"。所以来自BufferedReader的readline命令需要一个String但是找到一个布尔值。任何人都可以向我解释发生了什么以及如何解决这个问题?

事先感谢!

public void refreshWeather(final String location){

SuperClass

2 个答案:

答案 0 :(得分:1)

你的while循环似乎是错误的。 "线"应该是字符串类型,while循环应该是

while ((line = reader.readLine()) != null)

答案 1 :(得分:1)

在java中进行比较时,请使用==进行检查。在进行比较时不要设置变量,例如:line = reader.readLine()!= null

当您检查变量名称时,如果您尝试设置变量名称,则会导致错误。

在调用之前尝试设置变量,然后使用line != null 例如:

line = reader.readLine();
if(line != null) {
    //do something
}