從json陣列中得到java陣列,可以對該陣列進行轉化,如將JSONArray轉化為String型、Long型、Double型、Integer型、Date型等等。 

.
分別採用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。 
同樣,如果要獲取java陣列中的元素,只需要遍歷該陣列。 
Java程式碼  收藏程式碼
  1.  /** 
  2.   * 將json陣列轉化為Long型 
  3.   * @param str 
  4.   * @return 
  5.   */  
  6.  public static Long[] getJsonToLongArray(String str) {  
  7.       JSONArray jsonArray = JSONArray.fromObject(str);  
  8.       Long[] arr=new Long[jsonArray.size()];  
  9.       for(int i=0;i<jsonArray.size();i++){  
  10.           arr[i]=jsonArray.getLong(i);  
  11.           System.out.println(arr[i]);  
  12.       }  
  13.       return arr;  
  14. }  
  15.  /** 
  16.   * 將json陣列轉化為String型 
  17.   * @param str 
  18.   * @return 
  19.   */  
  20.  public static String[] getJsonToStringArray(String str) {  
  21.       JSONArray jsonArray = JSONArray.fromObject(str);  
  22.       String[] arr=new String[jsonArray.size()];  
  23.       for(int i=0;i<jsonArray.size();i++){  
  24.           arr[i]=jsonArray.getString(i);  
  25.           System.out.println(arr[i]);  
  26.       }  
  27.       return arr;  
  28. }  
  29.  /** 
  30.   * 將json陣列轉化為Double型 
  31.   * @param str 
  32.   * @return 
  33.   */  
  34.  public static Double[] getJsonToDoubleArray(String str) {  
  35.       JSONArray jsonArray = JSONArray.fromObject(str);  
  36.       Double[] arr=new Double[jsonArray.size()];  
  37.       for(int i=0;i<jsonArray.size();i++){  
  38.           arr[i]=jsonArray.getDouble(i);  
  39.       }  
  40.       return arr;  
  41. }  
  42.  /** 
  43.   * 將json陣列轉化為Date型 
  44.   * @param str 
  45.   * @return 
  46.   */  
  47.  public static Date[] getJsonToDateArray(String jsonString) {  
  48.       JSONArray jsonArray = JSONArray.fromObject(jsonString);  
  49.       Date[] dateArray = new Date[jsonArray.size()];  
  50.       String dateString;  
  51.       Date date;  
  52.       SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
  53.       for (int i = 0; i < jsonArray.size(); i++) {  
  54.           dateString = jsonArray.getString(i);  
  55.           try {  
  56.               date=sdf.parse(dateString);  
  57.               dateArray[i] = date;  
  58.           } catch (Exception e) {  
  59.               e.printStackTrace();  
  60.           }  
  61.       }  
  62.       return dateArray;  
  63. }  
  64. public static void main(String[] args) {  
  65.        JSONArray jsonLongs = new JSONArray();  
  66.        jsonLongs.add(0"111");  
  67.        jsonLongs.add(1"222.25");  
  68.        jsonLongs.add(2new Long(333));  
  69.        jsonLongs.add(3444);  
  70.        Long[] log=getJsonToLongArray(jsonLongs.toString());  
  71.        for(int i=0;i<log.length;i++){  
  72.         System.out.println(log[i]);  
  73.        }  
  74.        JSONArray jsonStrs = new JSONArray();  
  75.        jsonStrs.add(0"2011-01-01");  
  76.        jsonStrs.add(1"2011-01-03");  
  77.        jsonStrs.add(2"2011-01-04 11:11:11");  
  78.        Date[] d=getJsonToDateArray(jsonStrs.toString());          
  79.        for(int i=0;i<d.length;i++){  
  80.         System.out.println(d[i]);  
  81.        }  
  82. }  
  83.  /*結果如下: 
  84.  * 111 
  85.  * 222 
  86.  * 333 
  87.  * 444 
  88.  *  
  89.  * Sat Jan 01 00:00:00 CST 2011 
  90.  * Mon Jan 03 00:00:00 CST 2011 
  91.  * Tue Jan 04 00:00:00 CST 2011 
  92.  */