1 public class Demo { 2 3 public static void main(String[] args) { 4 try { 5 // 創建連接 服務器的連接地址 6 URL url = new URL( 7 "http://apicloud.mob.com/v1/mobile/address/query?phone=13026610069&key=1b2e046d45634"); 8 try { 9 // 創建輸入流 10 BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); 11 // 創建一個StringBuffer對象 12 StringBuffer sb = new StringBuffer(); 13 // 定義一個字符串變量 14 String st ; 15 // 不等於null的時候一直讀 16 while ((st = br.readLine()) != null) { 17 // 讀取的所有字符串添加到sb 18 sb.append(st); 19 } 20 // 創建第一個解析 需要解析的字符串 21 JSONObject first = JSONObject.fromObject(sb.toString()); 22 // 打印需要解析的字符串 23 System.out.println(sb.toString()); 24 System.out.println("===============json第一層解析============"); 25 System.out.println("msg:"+first.get("msg")); 26 System.out.println("retCode:"+first.get("retCode")); 27 System.out.println("result:"+first.get("result")); 28 29 // 創建第二個解析 需要解析的字符串 30 JSONObject second = JSONObject.fromObject(first.get("result")); 31 System.out.println("==============json第二層解析=============="); 32 System.out.println("city:"+second.get("city")); 33 System.out.println("cityCode:"+second.get("cityCode")); 34 System.out.println("mobileNumber:"+second.get("mobileNumber")); 35 System.out.println("operator:"+second.get("operator")); 36 System.out.println("province:"+second.get("province")); 37 System.out.println("zipCode:"+second.get("zipCode")); 38 } catch (IOException e) { 39 e.printStackTrace(); 40 } 41 } catch (MalformedURLException e) { 42 e.printStackTrace(); 43 } 44 } 45 46 }