java百度天气接口解析_Java调用天气接口(百度天气)解析返回的JSON数据-程序员宅基地

技术标签: java百度天气接口解析  

简介:本文详细讲述了通过Java调用百度天气接口的方法,取得返回的JSON格式的数据,并且通过第三方包解析JSON格式的数据。

通过百度天气API调用网络编程接口接收返回的JSON格式的数据。

关于百度天气接口的详细说明可以参考文章:   http://www..com/txw1958/p/baidu-weather-forecast-api.html

使用百度提供的天气接口,也就是通过一个URL访问百度天气服务器,通过给URL可以取得包含天气信息的JSON格式的数据。

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

import java.net.URLEncoder;

import java.nio.charset.Charset;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

//根据城市获取天气信息的java代码

//cityName 是你要取得天气信息的城市的中文名字,如“北京”,“深圳”

static String getWeatherInform(String cityName){

//百度天气API

String baiduUrl = "http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=W69oaDTCfuGwzNwmtVvgWfGH";

StringBuffer strBuf;

try {

//通过浏览器直接访问http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ

//5slgyqGDENN7Sy7pw29IUvrZ 是我自己申请的一个AK(许可码),如果访问不了,可以自己去申请一个新的ak

//百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key

//要访问的地址URL,通过URLEncoder.encode()函数对于中文进行转码

baiduUrl = "http://api.map.baidu.com/telematics/v3/weather?location="+URLEncoder.encode(cityName, "utf-8")+"&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ";

} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();

}

strBuf = new StringBuffer();

try{

URL url = new URL(baiduUrl);

URLConnection conn = url.openConnection();

BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));//转码。

String line = null;

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

strBuf.append(line + " ");

reader.close();

}catch(MalformedURLException e) {

e.printStackTrace();

}catch(IOException e){

e.printStackTrace();

}

return strBuf.toString();

}

上面调用百度天气接口的函数返回的JSON格式的数据如下:

{"error":0,"status":"success","date":"2014-08-27","results":[{"currentCity":"北京","pm25":"89","index":[{"title":"穿衣","zs":"炎热","tipt":"穿衣指数","des":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。"},{"title":"洗车","zs":"较适宜"

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39873208/article/details/114944863

智能推荐

Qt C++ 实现无边框窗体自定义缩放和拖动_qt无边框窗口缩放-程序员宅基地

文章浏览阅读1.8k次。在本文中,我们使用Qt C++中创建了一个无边框窗体,并实现自定义缩放和拖动功能。我们利用标志隐藏了窗体的边框,并通过事件过滤器监听了窗体和顶部栏的事件,从而实现了窗口的拖动和缩放功能。我们还通过辅助函数判断鼠标所处的边缘区域,并设置相应的鼠标样式,提供了直观的用户反馈。_qt无边框窗口缩放

在Mac上通过ssh连接谷歌云上的服务器实例并使用SFTP方式上传文件_mac ssh sftp-程序员宅基地

文章浏览阅读1.3k次。1. 在Mac上通过ssh连接谷歌云上的服务器实例(1)先从本地mac电脑中通过一段简单的命令获得钥匙ssh-keygen -t rsa -f ~/.ssh/google_sem_key(生成key的文件名) -C **(服务器的用户名) -b 2048执行命令会,会让你输入并确认密码,这里直接确认即可然后输入以下命令进入.ssh目录并用ls命令列出当前目录下的文件内容cat google_sem_key.pub你会找到一大串乱码,复制下来。(2)登录谷歌云账户,_mac ssh sftp

vue + element实现el-date-picker的时间格式转换,以及自定义时间格式,修改输入的时间格式_el-date-picker组件 实现输入20240120 转化成20240120 支持手动输入还支-程序员宅基地

文章浏览阅读3.9k次。实现日期选择输入框的时间格式转换、根据数据的情况自动化格式为需要的格式,如果只是需要修改传给后端的值或者格式,可以使用 value-format实现,可以在文档上查看详细的介绍。_el-date-picker组件 实现输入20240120 转化成20240120 支持手动输入还支持时间框

TINYMCE实现从WORD直接粘贴并自动上传图片-程序员宅基地

文章浏览阅读150次,点赞9次,收藏4次。Tinymce编辑器实现从word直接粘贴并自动上传图片,一键粘贴word内容,支持快捷键粘贴(Ctrl+V)并自动上传图片,一键导入word文件,粘贴后文字和图片自动添加到编辑器中,图片自动上传到服务器中,服务器位置可以自定义,自己指定,图片存储接口也能够自定义。关于tinymce粘贴图片,粘贴word,一键导入word,粘贴word内容,网上能找到的方案不是特别多,都是通过HTML5提供的API来实现的。功能上来讲的确是非常方便,对文字,内容,新闻编辑工作来讲,能够大幅度提高效率。

超牛逼的几款轻量级笔记软件!-程序员宅基地

文章浏览阅读5.5k次。点击关注公众号,回复“1024”获取2TB学习资源!编程容易产生挫折,即使作为一种业余爱好也可能是这样。建立一个网页,手机APP或桌面应用都是个很大的工程,好的记笔记技能是让这个工程井然有..._轻量级记事本

ffmpeg报错:Unable to find a suitable output format for-程序员宅基地

文章浏览阅读1.9w次。关于报错:Unable to find a suitable output format for这里显示的路径和我的文件名并不同,说明这个文件名,不能包括空格,所以我把文件名改了就行了。解决。_unable to find a suitable output format for

随便推点

python引用传递的区别_php传值引用的区别-程序员宅基地

文章浏览阅读57次。PHP传值与传址(引用)传值和传引用的区别在于,如果一个参数比较大,占用大量的内存空间,那么传引用的话就会节省拷贝空间。传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值说明:1....文章技术小哥哥2017-11-13632浏览量PHP常见面试题大全php中传值与..._python有跟php一样的引用传递吗

《TCP/IP详解 卷2》 笔记: 简介_tcpip详解卷二有必要看吗-程序员宅基地

文章浏览阅读7.4k次,点赞3次,收藏8次。 《TCP/IP详解 卷2》讲述的是4.4BSD-Lite(1994年发布的一个BSD操作系统的发行版)的TCP/IP协议栈源代码,之后许多Unix和非Unix(包括Linux)操作系统的网络协议栈的实现都参考了它。 这本书将近900页,讲述了约15000行的代码。这是我第二次阅读如此大篇幅的源代码讲解的书,前前后后,断断续续地花了几个月的时间。我并不是所有的内容都阅读过了,我只关注..._tcpip详解卷二有必要看吗

饺子播放器Jzvd使用过程中遇到的问题汇总-程序员宅基地

文章浏览阅读332次,点赞6次,收藏8次。继续看第一个方法第四行开始,毫无疑问,作者获取getDecorView()根视图,然后将原来的对象放入了跟视图,同时隐藏了状态栏,也即是开启了全屏模式,汗,简单粗暴。从上方代码第三行跳转到下面这个方法,可以看出作者用构造器构造了一个新的对象替代了原来位置的对象。还不够,那如何从全屏模式回来呢,作者在打开全屏的时候,就将原视图的父容器存放到了一个链表中。

python- flask current_app详解,与 current_app._get_current_object()的区别以及异步发送邮件实例-程序员宅基地

文章浏览阅读3.6k次,点赞4次,收藏8次。核心知识AppContext手动、自动入栈LocalStack是线程隔离的栈结构current_app是线程、协程隔离对象LocalProxy是获取当前线程隔离的代理对象一、flask中经典错误 working outside application context错误:working outside application contex原因:在没有获取到应用上下文的情况下,进行了上下文操作。代码:from flask import Flask, current_appapp =_flask current_app

堪比ps的mac修图软件 Pixelmator Pro 2.0.6中文版 支持Silicon M1_pixelmator堆栈-程序员宅基地

文章浏览阅读1.4k次。pixelmator pro中文版是最具创新性也是最好用的mac修图软件,拥有广泛的专业级,非破坏性的图像编辑工具,干净整洁的界面易于操作,支持常见的PSD、TIFF、JPEG、PNG、PDF、EPS 等图形文件格式,提供量选取、渐变、笔刷、填充、裁切,甚至魔术棒工具等功能,拥有50 多种专业的滤镜,它能实现的图片处理功能效果堪比Photoshop,在界面上它与 Photoshop 也有许多相似之处,但它更加轻量便捷!pixelmator pro 可以让常用的修图操作更爽更简单!软件来源:http._pixelmator堆栈

「USACO2015」 最大流 - 树上差分_usaco 差分-程序员宅基地

文章浏览阅读301次。题目大意给定一棵有N个点的树,所有节点的权值都为0。有K次操作,每次指定两个点s,t,将s到t路径上所有点的权值都加一,最后输出K次操作完毕后权值最大的那个点的权值。分析算得上是树上差分的模板题了。说一下普通的差分。现在有这么一个问题,给定一个序列A,有K个修改,每个修改将[L,R]中的数加1,最后问其中的最大数。最普通的做法就是每次跑一遍[L,R],并更新最大值,显然这样做可能会..._usaco 差分

推荐文章

热门文章

相关标签