java讀取其他服務(wù)接口返回的json數(shù)據(jù)示例代碼
前言
現(xiàn)在開發(fā)大部分都是服務(wù)化或者微服務(wù),數(shù)據(jù)交換都是跨服務(wù)的,這里記錄java調(diào)取其他接口的方法,下面話不多說了,來一起看看詳細(xì)的介紹吧。
java代碼如下:
/** * *<p>類描述:接口讀取工具。</p> */ public class ReadUrlUtil { public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException { InputStream is = new URL(url).openStream(); try { BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); StringBuilder sb = new StringBuilder(); int cp; while ((cp = rd.read()) != -1) { sb.append((char) cp); } String jsonText = sb.toString(); JSONObject json = JSONObject.fromObject(jsonText); return json; } finally { is.close(); } } }
測試代碼如下:
public static void main(String[] args) throws IOException, JSONException { / 這里調(diào)用百度的ip定位api服務(wù) 詳見 http://api.map.baidu.com/lbsapi/cloud/ip-location-api.htm String ip = "113.57.244.100"; String url = "http://api.map.baidu.com/location/ip?ak=32f38c9491f2da9eb61106aaab1e9739&ip="+ip+"&coor=bd09ll"; JSONObject json = ReadUrlUtil.readJsonFromUrl(url); System.out.println(json.toString()); System.out.println("經(jīng)度:"+((JSONObject) json.get("content")).getJSONObject("point").get("x")); System.out.println("維度:"+((JSONObject) json.get("content")).getJSONObject("point").get("y")); String city =(String) ((JSONObject) json.get("content")).getJSONObject("address_detail").get("city"); city = city.replace("市",""); System.out.println(city); }
測試結(jié)果如下圖:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- java如何動態(tài)的處理接口的返回?cái)?shù)據(jù)
- 如何使用java制作假數(shù)據(jù)接口
- Java?如何通過注解實(shí)現(xiàn)接口輸出時(shí)數(shù)據(jù)脫敏
- Java實(shí)現(xiàn)調(diào)用對方http接口得到返回?cái)?shù)據(jù)
- Java 利用DeferredResult實(shí)現(xiàn)http輪詢實(shí)時(shí)返回?cái)?shù)據(jù)接口
- Java編程通過list接口實(shí)現(xiàn)數(shù)據(jù)的增刪改查代碼示例
- Linux實(shí)時(shí)查看Java接口數(shù)據(jù)的案例方法
相關(guān)文章
java中instanceof和getClass()的區(qū)別分析
本篇文章介紹了,在java中instanceof和getClass()的區(qū)別分析。需要的朋友參考下2013-04-04使用SpringBoot的CommandLineRunner遇到的坑及解決
這篇文章主要介紹了使用SpringBoot的CommandLineRunner遇到的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Java架構(gòu)設(shè)計(jì)之六步拆解 DDD
DDD(Domain-Driven Design 領(lǐng)域驅(qū)動設(shè)計(jì))是由Eric Evans最先提出,目的是對軟件所涉及到的領(lǐng)域進(jìn)行建模,以應(yīng)對系統(tǒng)規(guī)模過大時(shí)引起的軟件復(fù)雜性的問題2022-02-02java代碼抓取網(wǎng)頁郵箱的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨ava代碼抓取網(wǎng)頁郵箱的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06使用SpringBoot注解方式處理事務(wù)回滾實(shí)現(xiàn)
這篇文章主要介紹了使用SpringBoot注解方式處理事務(wù)回滾實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08mybatis 如何判斷l(xiāng)ist集合是否包含指定數(shù)據(jù)
這篇文章主要介紹了mybatis 判斷l(xiāng)ist集合是否包含指定數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06