欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java使用淘寶API讀寫(xiě)json實(shí)現(xiàn)手機(jī)歸屬地查詢(xún)功能代碼

 更新時(shí)間:2013年11月26日 16:28:39   作者:  
本文介紹java使用淘寶API讀寫(xiě)json實(shí)現(xiàn)手機(jī)歸屬地查詢(xún)功能,代碼簡(jiǎn)單,大家可以參考使用

一般查詢(xún)手機(jī)歸屬地內(nèi)容應(yīng)該很好用json格式保存,在網(wǎng)上找到了淘寶的歸屬地API,并下了處理json相關(guān)的jar包,做了這個(gè)手機(jī)歸屬地查詢(xún)功能

復(fù)制代碼 代碼如下:

package com.think.java;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class TestMobileCity {   

    /**
     * 測(cè)試手機(jī)號(hào)碼是來(lái)自哪個(gè)城市的,利用淘寶的API
     * @param mobileNumber 手機(jī)號(hào)碼
     * @return
     * @throws MalformedURLException
     */
    public static String calcMobileCity(String mobileNumber) throws MalformedURLException{
        String jsonString = null;
        JSONArray array = null;
        JSONObject jsonObject = null;
        String urlString = "http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=" + mobileNumber;
        StringBuffer sb = new StringBuffer();
        BufferedReader buffer;
        URL url = new URL(urlString);
        try{
            InputStream in = url.openStream();

            // 解決亂碼問(wèn)題
            buffer = new BufferedReader(new InputStreamReader(in,"gb2312"));
            String line = null;
            while((line = buffer.readLine()) != null){
                sb.append(line);
            }
            in.close();
            buffer.close();
            // System.out.println(sb.toString());
            jsonString = sb.toString();
            // 替換掉“__GetZoneResult_ = ”,讓它能轉(zhuǎn)換為JSONArray對(duì)象
            jsonString = jsonString.replaceAll("^[__]\\w{14}+[_ = ]+", "[");
            // System.out.println(jsonString+"]");
            String jsonString2 = jsonString + "]";
            // 把STRING轉(zhuǎn)化為json對(duì)象
            array = JSONArray.fromObject(jsonString2);

            // 獲取JSONArray的JSONObject對(duì)象,便于讀取array里的鍵值對(duì)
            jsonObject = array.getJSONObject(0);       

        }catch(Exception e){
            e.printStackTrace();
        }
        return jsonObject.getString("province");
    }

    /**
     * 計(jì)算多個(gè)號(hào)碼的歸屬地
     * @param mobileNumbers 號(hào)碼列表
     * @return
     * @throws MalformedURLException
     */
    public static JSONObject calcMobilesCities(List<String> mobileNumbers) throws MalformedURLException{
        JSONObject jsonNumberCity = new JSONObject();
        for(String mobileNumber : mobileNumbers){
            jsonNumberCity.put(mobileNumber, calcMobileCity(mobileNumber));            ;
        }       
        return jsonNumberCity;
    }

    public static void main(String[] args) throws Exception{
        String testMobileNumber = "1881758452";
        System.out.println(calcMobileCity(testMobileNumber));
        List<String> mobileList = new ArrayList<String>();
        for(int i = 1350345; i < 1350388; i++){
            mobileList.add(String.valueOf(i));
        }
        System.out.println(calcMobilesCities(mobileList).toString());
    }
}

相關(guān)文章

  • Java static關(guān)鍵字詳細(xì)介紹與用法總結(jié)

    Java static關(guān)鍵字詳細(xì)介紹與用法總結(jié)

    這篇文章主要介紹了Java中static關(guān)鍵字的作用和用法詳細(xì)介紹,主要講了靜態(tài)方法、靜態(tài)變量、靜態(tài)類(lèi)、static和final一塊用等內(nèi)容。需要的朋友可以參考下
    2017-04-04
  • Java中的?stop?the?world是什么呢

    Java中的?stop?the?world是什么呢

    這篇文章主要介紹了Java中的stop?the?world是什么呢,從字面上講,就是停止這個(gè)世界,看到這個(gè)字眼,就覺(jué)得這是可怕的事情,那到底什么是stop-the-world,本文給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧
    2023-05-05
  • SpringBoot事件機(jī)制相關(guān)知識(shí)點(diǎn)匯總

    SpringBoot事件機(jī)制相關(guān)知識(shí)點(diǎn)匯總

    這篇文章主要介紹了SpringBoot事件機(jī)制相關(guān)知識(shí)點(diǎn)匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解Idea 2019.2 安裝lombok插件失效問(wèn)題解決

    詳解Idea 2019.2 安裝lombok插件失效問(wèn)題解決

    這篇文章主要介紹了詳解Idea 2019.2 安裝lombok插件失效問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解查看JAVA API及JAVA源碼的方法

    詳解查看JAVA API及JAVA源碼的方法

    這篇文章主要介紹了查看JAVA API及JAVA源碼的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • spring boot攔截器注入不了java bean的原因

    spring boot攔截器注入不了java bean的原因

    這篇文章主要介紹了spring boot攔截器注入不了java bean的原因,幫助大家更好的理解和學(xué)習(xí)spring boot框架,感興趣的朋友可以了解下
    2020-11-11
  • Java進(jìn)階教程之IO基礎(chǔ)

    Java進(jìn)階教程之IO基礎(chǔ)

    這篇文章主要介紹了Java進(jìn)階教程之IO基礎(chǔ),這里只是對(duì)Java IO的基本介紹,包含讀取和寫(xiě)入等操作,需要的朋友可以參考下
    2014-09-09
  • Java全面深入探究SpringBoot攔截器與文件上傳

    Java全面深入探究SpringBoot攔截器與文件上傳

    攔截器對(duì)使用SpringMvc、Struts的開(kāi)發(fā)人員來(lái)說(shuō)特別熟悉,因?yàn)槟阒灰肴プ龊靡粋€(gè)項(xiàng)目必然會(huì)用到它,文件上傳是一個(gè)很常見(jiàn)的功能。在項(xiàng)目開(kāi)發(fā)過(guò)程中,我們通常都會(huì)使用一些成熟的上傳組件來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能
    2022-05-05
  • 淺析Java中對(duì)稱(chēng)與非對(duì)稱(chēng)加密算法原理與使用

    淺析Java中對(duì)稱(chēng)與非對(duì)稱(chēng)加密算法原理與使用

    密碼學(xué)是研究編制密碼和破譯密碼的技術(shù)科學(xué)。這篇文章主要為大家介紹了Java中對(duì)稱(chēng)與非對(duì)稱(chēng)加密算法的原理與使用,感興趣的小伙伴可以了解一下
    2023-03-03
  • Java 實(shí)戰(zhàn)范例之進(jìn)銷(xiāo)存管理系統(tǒng)的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)范例之進(jìn)銷(xiāo)存管理系統(tǒng)的實(shí)現(xiàn)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實(shí)現(xiàn)一個(gè)前后端分離的進(jìn)銷(xiāo)存管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11

最新評(píng)論