1. 程式人生 > >JAVA中解析JSON物件裡包含的JSON陣列

JAVA中解析JSON物件裡包含的JSON陣列

例如現在有這樣一個Json

String Value={"data":[{"school_name":"西北農林科技大學","school_id":"8"},{"school_name":"西北大學","school_id":"6"},{"school_name":"西北工業大學","school_id":"5"},{"school_name":"西北政法大學","school_id":"2"},{"school_name":"西安交通大學","school_id":"4"},{"school_name":"西安建築科技大學","school_id":"10"},{"school_name":"西安電子科技大學","school_id":"3"},{"school_name":"西安郵電大學","school_id":"1"},{"school_name":"長安大學","school_id":"9"},{"school_name":"陝西師範大學","school_id":"7"},{"school_name":"陝西科技大學","school_id":"11"}],"msg":"列表獲取成功","status":0}

用2個數組接收school_name和school_id

首先         

             public   String[] schoolID; 
             public  String[] schoolName;

             JSONObject  jsonObj_school;//用來接收解析的JSON字串

             JSONArray  jsonArr_school ;//用來接收JSON物件裡的陣列

        try{
              jsonObj_school = new JSONObject (  Value ); //解析 JSON字串
              jsonArr_school  =jsonObj_school.getJSONArray("data");// 接收JSON物件裡的陣列

               int jsonSize_school = jsonArr_school.length();.//獲取陣列長度
              schoolID = new String[ jsonSize_school ];//初始化陣列
               schoolName = new String[ jsonSize_school]; //初始化陣列
           for(int i = 0; i < jsonSize_school; i++ )//通過迴圈取出數組裡的值
               {
               JSONObject jsonTemp = (JSONObject)jsonArr_school.getJSONObject(i);
               schoolID[i] = jsonTemp.getString("school_id");
               schoolName[i] = jsonTemp.getString("school_name");
              }

           }catch(Exception e){

                    e.printStackTrace();
            }