Android开发之使用和风天气API遇到的问题及解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ygd1994/article/details/51485950

天气预报的接口也算是用过几个了,听说和风天气API可以免费使用3000次,果断是要尝试一下的。本来打算花半个小时弄完,结果由于和风天气API的各种不人性化的设定,花了足足半天才搞定。在此记录下来,帮大家少走弯路。
前面的步骤依旧很老套,注册,申请key,然后就请求数据,这里我用的是Volley框架中的get方法直接请求的,十分简单,可参考Android-Volley框架中的get和post方式

String url="http://10.0.2.2:8080/LostAndFoundWeb/servlet/NewsServlet";
StringRequest sr=new StringRequest(url, new Response.Listener<String>() {   //响应成功监听接口
            @Override
            public void onResponse(String json) {
                Log.d("===json===",json);
        }, new Response.ErrorListener() {   //响应错误监听接口
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                //提示网络异常
                Toast.makeText(context, "网络连接异常", Toast.LENGTH_SHORT).show();
            }
        });
        SingleVolleyRequestQueue.getInstance(context).addToRequestQueue(sr);
    }

Log一出来,然后就进入懵逼状态。
这里写图片描述
这key也太特殊了吧,带空格也就算了,还带小数点,完全没法用GSON或者JSONObject解析好吧。然后机智的我是这么做的:

json=json.replaceAll(" ","");
                json=json.replaceFirst("3.0","");

然后既可以一步步解析了。
不过鉴于这个JSON数据太过复杂,建议使用GsonFormat插件。一键解决所有难题。传送门:GsonFormat使用方法详解

猜你喜欢

转载自blog.csdn.net/ygd1994/article/details/51485950