我在天氣應用程序工作。我使用免費的api來獲取天氣信息。當我嘗試喲運行這個類時,我得到「null」爲什麼?你可以在url中看到json代碼。它應該返回「羅馬尼亞」,但它返回「null」,我不知道爲什麼。天氣應用程序json代碼返回null
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import org.apache.commons.io.IOUtils;
import org.json.simple.*;
import org.json.simple.parser.ParseException;
public class Weather {
public static URL url;
public void getWeather() throws IOException, ParseException {
url = new URL("http://api.openweathermap.org/data/2.5/weatherq=drobeta,romania");
Scanner scan = new Scanner(url.openStream());
String str = new String();
while (scan.hasNext())
str += scan.nextLine();
scan.close();
System.out.println(str);
String genreJson = IOUtils.toString(url);
JSONObject genreJsonObject = (JSONObject) JSONValue.parseWithException(genreJson);
// get the title
System.out.println(genreJsonObject.get("country"));
}
}
如果您複製網址並在瀏覽器中打開它,您會看到什麼?如果您已超出API配額,openweathermap.org可能會阻止您的請求,但我不確定他們的政策是什麼。 –
檢查您擁有的json對象的結構,您不會通過執行get(country) –