简单解析网络API接口数据

API数据接口-聚合数据

​ xml和 json 是现今互联网中常用的两种数据交换格式,两种格式都可以进行网络数据交换,数据存储,配置文件,但由于两种文件不同的优缺点,xml主要用于配置文件,json主要应用于网络数据交换。本文通过申请聚合API数据接口,分别使用xml和json的方式解析该API数据。申请方式可以进入聚合数据官方进行申请(聚合官方)。聚合数据提供了很多的网络API接口,很方便开发者使用。

​ 我在聚合数据申请了一个手机号码归属地查询的接口,请求示例如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xsStSBNy-1621751523370)(C:\Users\18234\AppData\Local\Temp\1621734018073.png)]

该接口默认返回json的格式,如果希望返回xml格式可以在请求示例中加入dtype=xml,具体如下:

(apis.juhe.cn/mobile/get?phone=13429667914&dtype=xml&key=您申请的key)

现在只要在浏览器中输入该网址,就可以获得该API接口返回的xml数据。(这是我申请的API接口请求)。返回结果如下:

返回xml格式

<root>
<resultcode>200</resultcode>
<reason>Return Successd!</reason>
<result>
<province>浙江</province>
<city>杭州</city>
<areacode>0571</areacode>
<zip>310000</zip>
<company>移动</company>
<card/>
</result>
<error_code>0</error_code>
</root>

返回json格式

{"resultcode":"200",
 "reason":"Return Successd!",
 "result":{
     "province":"湖北",
     "city":"荆州",
     "areacode":"0716",
     "zip":"434000",
     "company":"电信",
     "card":""
 },
 "error_code":0
}

xml解析

​ Dom4j 是一个用于处理 XML 的开源框架,该框架与 XPath 集成在一起,并完全支持 DOM、SAX、JAXP 和 Java 平台。接下来,使用Dom4j 解析该xml数据。解析代码如下:

public static void main(String[] args) throws IOException, DocumentException, SAXException {
        String phone = "1839863";//输入手机号或手机号前7位
        URL url = new URL("http://apis.juhe.cn/mobile/get?phone="+phone+"&dtype=xml&key=d8da722db792a72defe63dd22f6d87f3");
        URLConnection urlConnection = url.openConnection();
        InputStream is = urlConnection.getInputStream();
        SAXReader sr = new SAXReader();
        Document read = sr.read(is);
        Element rootElement = read.getRootElement();
        Element resultcode = rootElement.element("resultcode");
        if("200".equals(resultcode.getText())){
            Element result = rootElement.element("result");
            Element province = result.element("province");
            Element city = result.element("city");
            System.out.println("号码归属地:"+province.getText()+"省"+city.getText()+"市(区)");
        }

    }

json解析

json解析有四种方式,这里使用谷歌推出的Gson进行json的解析。解析代码如下:

 public static void main(String[] args) throws IOException {
        String phone = "1736234";
        URL url = new URL("http://apis.juhe.cn/mobile/get?phone="+phone+"&key=d8da722db792a72defe63dd22f6d87f3");
        URLConnection urlConnection = url.openConnection();
        Reader is = new InputStreamReader(url.openStream());
        Gson g = new Gson();
        HashMap data = g.fromJson(is, HashMap.class);
        LinkedTreeMap result = (LinkedTreeMap)data.get("result");
        System.out.println("号码归属地:"+result.get("province")+"省"+result.get("city")+"市");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值