java讀取 其他服務接口 返回的json數據

原文地址https://blog.csdn.net/fanxiangru999/article/details/70147981

現在開發大部分都是服務化或者微服務,數據交換都是跨服務的,這裏記錄java調取其他接口的方法,java代碼如下:

[java] view plain copy
  1. /** 
  2.  *  
  3.   *<p>類描述:接口讀取工具。</p> 
  4.  */  
  5. public class ReadUrlUtil {  
  6.       
  7.       public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {  
  8.         InputStream is = new URL(url).openStream();  
  9.         try {  
  10.           BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));  
  11.           StringBuilder sb = new StringBuilder();  
  12.           int cp;  
  13.           while ((cp = rd.read()) != -1) {  
  14.             sb.append((char) cp);  
  15.           }  
  16.           String jsonText = sb.toString();  
  17.           JSONObject json = JSONObject.fromObject(jsonText);    
  18.           return json;  
  19.         } finally {  
  20.           is.close();  
  21.         }  
  22.       }  
  23. }  

測試代碼如下:

[java] view plain copy
  1. public static void main(String[] args) throws IOException, JSONException {  
  2. /          這裏調用百度的ip定位api服務 詳見 http://api.map.baidu.com/lbsapi/cloud/ip-location-api.htm  
  3.         String ip = "113.57.244.100";    
  4.         String url = "http://api.map.baidu.com/location/ip?ak=32f38c9491f2da9eb61106aaab1e9739&ip="+ip+"&coor=bd09ll";     
  5.         JSONObject json = ReadUrlUtil.readJsonFromUrl(url);    
  6.         System.out.println(json.toString());    
  7.         System.out.println("經度:"+((JSONObject) json.get("content")).getJSONObject("point").get("x"));    
  8.         System.out.println("維度:"+((JSONObject) json.get("content")).getJSONObject("point").get("y"));    
  9.         String city =(String) ((JSONObject) json.get("content")).getJSONObject("address_detail").get("city");    
  10.         city = city.replace("市","");    
  11.            
  12.         System.out.println(city);    
  13.           
  14.       }  


測試結果如下圖:





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章