java气象应用程序json代码返回null
我在一个气象应用程序上工作。我使用免费的api获取天气信息。当我尝试运行这个类时,我得到“null”为什么?您可以在url中看到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"));
}
}
# 1 楼答案
将urlhttp://api.openweathermap.org/data/2.5/weather?q=drobeta,romania放入浏览器时,我返回了一个错误500。我想说这就是为什么你会得到null异常。但是,如果您将其修改为http://api.openweathermap.org/data/2.5/weather?q=romania,您将得到一个有效的json结果