通过JAVA从高德地图URL连接获取json数据 解析并存入数据库的程序举例
2017-11-13 10:13
1191 查看
首先 进入高德开放平台 按官网教程获取key
这里以杭州某区域车站信息举例
通过在线解析工具获取json格式的数据
通过此数据建立实体类
数据库连接类
解析存储类
解析类中的 建表与更新分两步进行
所需jar包如下图
结果如图,已数组形式存储
这里以杭州某区域车站信息举例
通过在线解析工具获取json格式的数据
通过此数据建立实体类
package geturl; import java.util.List; public class JsonBean { private String status; private String count; public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getCount() { return count; } public void setCount(String count) { this.count = count; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public String getInfocode() { return infocode; } public void setInfocode(String infocode) { this.infocode = infocode; } public SuggestionBean getSuggestion() { return suggestion; } public void setSuggestion(SuggestionBean suggestion) { this.suggestion = suggestion; } public List<PoisBean> getPois() { return pois; } public void setPois(List<PoisBean> pois) { this.pois = pois; } private String info; private String infocode; private SuggestionBean suggestion; private List<PoisBean> pois; public static class SuggestionBean { private List<?> keywords; private List<?> cities; public List<?> getKeywords() { return keywords; } public void setKeywords(List<?> keywords) { this.keywords = keywords; } public List<?> getCities() { return cities; } public void setCities(List<?> cities) { this.cities = cities; } } public static class PoisBean { private String id; private String name; private String tag; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTag() { return tag; } public void setTag(String tag) { this.tag = tag; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getTypecode() { return typecode; } public void setTypecode(String typecode) { this.typecode = typecode; } public String getBiz_type() { return biz_type; } public void setBiz_type(String biz_type) { this.biz_type = biz_type; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this.postcode = postcode; } public String getWebsite() { 14683 return website; } public void setWebsite(String website) { this.website = website; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPcode() { return pcode; } public void setPcode(String pcode) { this.pcode = pcode; } public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public String getCitycode() { return citycode; } public void setCitycode(String citycode) { this.citycode = citycode; } public String getCityname() { return cityname; } public void setCityname(String cityname) { this.cityname = cityname; } public String getAdcode() { return adcode; } public void setAdcode(String adcode) { this.adcode = adcode; } public String getAdname() { return adname; } public void setAdname(String adname) { this.adname = adname; } public String getImportance() { return importance; } public void setImportance(String importance) { this.importance = importance; } public String getShopid() { return shopid; } public void setShopid(String shopid) { this.shopid = shopid; } public String getShopinfo() { return shopinfo; } public void setShopinfo(String shopinfo) { this.shopinfo = shopinfo; } public String getPoiweight() { return poiweight; } public void setPoiweight(String poiweight) { this.poiweight = poiweight; } public String getGridcode() { return gridcode; } public void setGridcode(String gridcode) { this.gridcode = gridcode; } public String getDistance() { return distance; } public void setDistance(String distance) { this.distance = distance; } public String getNavi_poiid() { return navi_poiid; } public void setNavi_poiid(String navi_poiid) { this.navi_poiid = navi_poiid; } public String getEntr_location() { return entr_location; } public void setEntr_location(String entr_location) { this.entr_location = entr_location; } public String getBusiness_area() { return business_area; } public void setBusiness_area(String business_area) { this.business_area = business_area; } public String getExit_location() { return exit_location; } public void setExit_location(String exit_location) { this.exit_location = exit_location; } public String getMatch() { return match; } public void setMatch(String match) { this.match = match; } public String getRecommend() { return recommend; } public void setRecommend(String recommend) { this.recommend = recommend; } public String getTimestamp() { return timestamp; } public void setTimestamp(String timestamp) { this.timestamp = timestamp; } public String getAlias() { return alias; } public void setAlias(String alias) { this.alias = alias; } public String getIndoor_map() { return indoor_map; } public void setIndoor_map(String indoor_map) { this.indoor_map = indoor_map; } public String getIndoor_data() { return indoor_data; } public void setIndoor_data(String indoor_data) { this.indoor_data = indoor_data; } public String getGroupbuy_num() { return groupbuy_num; } public void setGroupbuy_num(String groupbuy_num) { this.groupbuy_num = groupbuy_num; } public String getDiscount_num() { return discount_num; } public void setDiscount_num(String discount_num) { this.discount_num = discount_num; } public String getBiz_ext() { return biz_ext; } public void setBiz_ext(String biz_ext) { this.biz_ext = biz_ext; } public String getEvent() { return event; } public void setEvent(String event) { this.event = event; } public String getChildren() { return children; } public void setChildren(String children) { this.children = children; } public String getPhotos() { return photos; } public void setPhotos(String photos) { this.photos = photos; } private String type; private String typecode; private String biz_type; private String address; private String location; private String tel; private String postcode; private String website; private String email; private String pcode; private String pname; private String citycode; private String cityname; private String adcode; private String adname; private String importance; private String shopid; private String shopinfo; private String poiweight; private String gridcode; private String distance; private String navi_poiid; private String entr_location; private String business_area; private String exit_location; private String match; private String recommend; private String timestamp; private String alias; private String indoor_map; private String indoor_data; private String groupbuy_num; private String discount_num; private String biz_ext; private String event; private String children; private String photos; } }
数据库连接类
package geturl; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Conn { /** * @method getConn() * @return Connection */ public Connection getConn() { String driver = "org.postgresql.Driver"; String url = "jdbc:postgresql://localhost:5432/superpower"; String username = "postgres"; String password = "123456"; Connection conn = null; try { Class.forName(driver); // conn = (Connection) DriverManager.getConnection(url, username, password); System.out.println("数据库连接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } }
解析存储类
package geturl; import geturl.JsonBean.PoisBean; import java.net.*; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.io.*; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Iputil { public static void main(String [] args) { JsonBean jsonBean=new JsonBean(); try { URL url = new URL("http://restapi.amap.com/v3/place/text?&keywords=%E5%85%AC%E4%BA%A4%E7%AB%99%E7%82%B9&city=%E6%9D%AD%E5%B7%9E&output=json&offset=20&page=1&key=6b6ebee4f2f6ef4c55d1b4b52310acec&extensions=all"); URLConnection urlConnection = url.openConnection(); HttpURLConnection connection = null; if(urlConnection instanceof HttpURLConnection) { connection = (HttpURLConnection) urlConnection; } else { System.out.println("输入urlַ"); return; } BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream())); String urlString = ""; String current; while((current = in.readLine()) != null) { urlString += current; } JSONObject json=JSONObject.fromObject(urlString);//大括号object 字符串string 数组list jsonBean.setStatus(json.optString("status")); jsonBean.setCount(json.optString("count")); jsonBean.setInfo(json.optString("info")); jsonBean.setInfocode(json.optString("infocode")); JSONObject suggestionObj=json.optJSONObject("suggestion"); JsonBean.SuggestionBean suggestion=new JsonBean.SuggestionBean(); List<String> keywordsList=new ArrayList<>(); JSONArray keywordsArray=suggestionObj.optJSONArray("keywords"); for (int i = 0; i < keywordsArray.size(); i++) { keywordsList.add(keywordsArray.optString(i)); } suggestion.setKeywords(keywordsList); List<String> citiesList=new ArrayList<>(); JSONArray citiesArray=suggestionObj.optJSONArray("cities"); for (int i = 0; i < citiesArray.size(); i++) { citiesList.add(citiesArray.optString(i)); } suggestion.setCities(citiesList); jsonBean.setSuggestion(suggestion); List<PoisBean> poisBeansList=new ArrayList<>(); JSONArray poisArray=json.optJSONArray("pois"); for (int i = 0; i < poisArray.size(); i++) { JSONObject poisObj = poisArray.optJSONObject(i); JsonBean.PoisBean poisBean=new JsonBean.PoisBean(); poisBean.setId(poisObj.optString("id")); poisBean.setName(poisObj.optString("name")); poisBean.setTag(poisObj.optString("tag")); poisBean.setType(poisObj.optString("type")); poisBean.setTypecode(poisObj.optString("typecode")); poisBean.setBiz_type(poisObj.optString("biz_type")); poisBean.setAddress(poisObj.optString("address")); poisBean.setLocation(poisObj.optString("location")); poisBean.setTel(poisObj.optString("tel")); poisBean.setPostcode(poisObj.optString("postcode")); poisBean.setWebsite(poisObj.optString("website")); poisBean.setEmail(poisObj.optString("email")); poisBean.setPcode(poisObj.optString("pcode")); poisBean.setPname(poisObj.optString("pname")); poisBean.setCitycode(poisObj.optString("citycode")); poisBean.setCityname(poisObj.optString("cityname")); poisBean.setAdcode(poisObj.optString("adcode")); poisBean.setAdname(poisObj.optString("adname")); poisBean.setImportance(poisObj.optString("importance")); poisBean.setShopid(poisObj.optString("shopid")); poisBean.setShopinfo(poisObj.optString("shopinfo")); poisBean.setPoiweight(poisObj.optString("poiweight")); poisBean.setGridcode(poisObj.optString("gridcode")); poisBean.setDistance(poisObj.optString("distance")); poisBean.setNavi_poiid(poisObj.optString("navi_poiid")); poisBean.setEntr_location(poisObj.optString("entr_location")); poisBean.setBusiness_area(poisObj.optString("business_area")); poisBean.setExit_location(poisObj.optString("exit_location")); poisBean.setMatch(poisObj.optString("match")); poisBean.setRecommend(poisObj.optString("recommend")); poisBean.setTimestamp(poisObj.optString("timestamp")); poisBean.setAlias(poisObj.optString("alias")); poisBean.setIndoor_map(poisObj.optString("indoor_map")); poisBean.setIndoor_data(poisObj.optString("indoor_data")); poisBean.setGroupbuy_num(poisObj.optString("groupbuy_num")); poisBean.setDiscount_num(poisObj.optString("discount_num")); poisBean.setBiz_ext(poisObj.optString("biz_ext")); poisBean.setEvent(poisObj.optString("event")); poisBean.setChildren(poisObj.optString("children")); poisBean.setPhotos(poisObj.optString("photos")); poisBeansList.add(poisBean); } jsonBean.setPois(poisBeansList); }catch(IOException e) { e.printStackTrace(); } //get数据 Conn c=new Conn(); //连接数据库 Connection con= c.getConn(); try { Statement sql; ResultSet res; int a; sql=con.createStatement(); /* sql.executeQuery("CREATE TABLE Map (id varchar(255), name varchar(255),tag varchar(255)," + "type varchar(255),typecode varchar(255), biz_type varchar(255),address varchar(255),location varchar(255)," + "tel varchar(255),postcode varchar(255),website varchar(255),email varchar(255),pcode varchar(255),pname varchar(255)," + "citycode varchar(255), cityname varchar(255), adcode varchar(255),adname varchar(255), importance varchar(255),shopid varchar(255),shopinfo varchar(255),poiweight varchar(255)," + "gridcode varchar(255),distance varchar(255),navi_poiid varchar(255),entr_location varchar(255),business_area varchar(255),exit_location varchar(255)," + "match varchar(255),recommend varchar(255),timestamp varchar(255),alias varchar(255),indoor_map varchar(255),indoor_data varchar(255)," + "groupbuy_num varchar(255),discount_num varchar(255),biz_ext varchar(255),event varchar(255),children varchar(255),photos varchar(400)) "); */ for (int i = 0; i < jsonBean.getPois().size(); i++) { a = sql.executeUpdate("insert into Map (id,name,tag,type,typecode,biz_type,address,location,tel,postcode,website,email,pcode,pname," + "citycode,cityname,adcode,adname,importance,shopid,shopinfo,poiweight,gridcode,distance,navi_poiid,entr_location,business_area," + "exit_location,match,recommend,timestamp,alias,indoor_map,indoor_data,groupbuy_num,discount_num,biz_ext,event,children,photos) " + "values('"+jsonBean.getPois().get(i).getId()+"','"+jsonBean.getPois().get(i).getName()+"'" + ",'"+jsonBean.getPois().get(i).getTag()+"','"+jsonBean.getPois().get(i).getType()+"','"+jsonBean.getPois().get(i).getTypecode()+"'" + ",'"+jsonBean.getPois().get(i).getBiz_type()+"','"+jsonBean.getPois().get(i).getAddress()+"','"+jsonBean.getPois().get(i).getLocation()+"' " + ",'"+jsonBean.getPois().get(i).getTel()+"','"+jsonBean.getPois().get(i).getPostcode()+"','"+jsonBean.getPois().get(i).getWebsite()+"','"+jsonBean.getPois().get(i).getEmail()+"'" + ",'"+jsonBean.getPois().get(i).getPcode()+"','"+jsonBean.getPois().get(i).getPname()+"','"+jsonBean.getPois().get(i).getCityname()+"','"+jsonBean.getPois().get(i).getCityname()+"'" + ",'"+jsonBean.getPois().get(i).getAdcode()+"','"+jsonBean.getPois().get(i).getAdname()+"','"+jsonBean.getPois().get(i).getImportance()+"','"+jsonBean.getPois().get(i).getShopid()+"'" + ",'"+jsonBean.getPois().get(i).getShopinfo()+"','"+jsonBean.getPois().get(i).getPoiweight()+"','"+jsonBean.getPois().get(i).getGridcode()+"','"+jsonBean.getPois().get(i).getDistance()+"'" + ",'"+jsonBean.getPois().get(i).getNavi_poiid()+"','"+jsonBean.getPois().get(i).getEntr_location()+"','"+jsonBean.getPois().get(i).getBusiness_area()+"','"+jsonBean.getPois().get(i).getExit_location()+"'" + ",'"+jsonBean.getPois().get(i).getMatch()+"','"+jsonBean.getPois().get(i).getRecommend()+"','"+jsonBean.getPois().get(i).getTimestamp()+"','"+jsonBean.getPois().get(i).getAlias()+"'" + ",'"+jsonBean.getPois().get(i).getIndoor_map()+"','"+jsonBean.getPois().get(i).getIndoor_data()+"','"+jsonBean.getPois().get(i).getGroupbuy_num()+"','"+jsonBean.getPois().get(i).getDiscount_num()+"' " + ",'"+jsonBean.getPois().get(i).getBiz_ext()+"','"+jsonBean.getPois().get(i).getEvent()+"','"+jsonBean.getPois().get(i).getChildren()+"','"+jsonBean.getPois().get(i).getPhotos()+"')"); } } catch (Exception e) { e.printStackTrace(); } } }
解析类中的 建表与更新分两步进行
所需jar包如下图
结果如图,已数组形式存储
相关文章推荐
- JAVA 根据URL获取JSON数据,并解析后存入数据库
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 怎么获取pm2.5数据----pm2.5 的获取 java 通过url获取后,得到json 格式,在解析json
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 通过servlet从气象局接口获取到天气预报的json数据,并解析得到的json数据存入数据库(案例)
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析
- java后台通过url获取json数据
- Java根据URL连接请求JSON数据解析代码
- c# 通过访问URL,获取并解析远程服务端返回的复杂Json数据
- android:通过url向网络端获取json格式数据并解析显示
- Java数据接口编写简单例子,Java Json解析,服务端接口输出Json数据,客户端通过HTTP获取接口Json数据
- Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据
- JAVA程序通过后台登陆网站,获取Session,然后再POST Http Request添加数据到数据库的实例
- java通过url获取页面数据 java解析xml 基金净值接口使用方法
- 【转载】Java数据接口编写简单例子,Java Json解析,服务端接口输出Json数据,客户端通过HTTP获取接口Json数据,作者:Jaiky_杰哥
- Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据