天气app json代码返回null

时间:2015-05-28 20:52:48

标签: java json

我在天气应用程序工作。我使用免费的api来获取天气信息。当我尝试你运行这个课我得到" 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"));

    }
}

1 个答案:

答案 0 :(得分:-2)

将您的网址http://api.openweathermap.org/data/2.5/weather?q=drobeta,romania放入浏览器会为我返回错误500。我会说这就是你获得null异常的原因。但是,如果将其修改为http://api.openweathermap.org/data/2.5/weather?q=romania,您将获得有效的json结果。