json學習之三:JSONArray的應用

 從json數組中得到相應java數組,如果要獲取java數組中的元素,只需要遍歷該數組。

 

/**
      * 從json數組中得到相應java數組
      * JSONArray下的toArray()方法的使用
      * @param str
      * @return
      */
      public static Object[] getJsonToArray(String str) {
          JSONArray jsonArray = JSONArray.fromObject(str);
          return jsonArray.toArray();
      }
   public static void main(String[] args) {        
        JSONArray jsonStrs = new JSONArray();
        jsonStrs.add(0, "cat");
        jsonStrs.add(1, "dog");
        jsonStrs.add(2, "bird");
        jsonStrs.add(3, "duck");
        
        Object[] obj=getJsonToArray(jsonStrs.toString());
        for(int i=0;i<obj.length;i++){
              System.out.println(obj[i]);
        }
    }

 

  從json數組中得到java數組,可以對該數組進行轉化,如將JSONArray轉化爲String型、Long型、Double型、Integer型、Date型等等。 
分別採用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。 
同樣,如果要獲取java數組中的元素,只需要遍歷該數組。

  /**
      * 將json數組轉化爲Long型
      * @param str
      * @return
      */
     public static Long[] getJsonToLongArray(String str) {
          JSONArray jsonArray = JSONArray.fromObject(str);
          Long[] arr=new Long[jsonArray.size()];
          for(int i=0;i<jsonArray.size();i++){
              arr[i]=jsonArray.getLong(i);
              System.out.println(arr[i]);
          }
          return arr;
    }
     /**
      * 將json數組轉化爲String型
      * @param str
      * @return
      */
     public static String[] getJsonToStringArray(String str) {
          JSONArray jsonArray = JSONArray.fromObject(str);
          String[] arr=new String[jsonArray.size()];
          for(int i=0;i<jsonArray.size();i++){
              arr[i]=jsonArray.getString(i);
              System.out.println(arr[i]);
          }
          return arr;
    }
     /**
      * 將json數組轉化爲Double型
      * @param str
      * @return
      */
     public static Double[] getJsonToDoubleArray(String str) {
          JSONArray jsonArray = JSONArray.fromObject(str);
          Double[] arr=new Double[jsonArray.size()];
          for(int i=0;i<jsonArray.size();i++){
              arr[i]=jsonArray.getDouble(i);
          }
          return arr;
    }
     /**
      * 將json數組轉化爲Date型
      * @param str
      * @return
      */
     public static Date[] getJsonToDateArray(String jsonString) {
          JSONArray jsonArray = JSONArray.fromObject(jsonString);
          Date[] dateArray = new Date[jsonArray.size()];
          String dateString;
          Date date;
          SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
          for (int i = 0; i < jsonArray.size(); i++) {
              dateString = jsonArray.getString(i);
              try {
                  date=sdf.parse(dateString);
                  dateArray[i] = date;
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
          return dateArray;
    }

 public static void main(String[] args) {
            
        JSONArray jsonLongs = new JSONArray();
        jsonLongs.add(0, "111");
        jsonLongs.add(1, "222.25");
        jsonLongs.add(2, new Long(333));
        jsonLongs.add(3, 444);
        
        Long[] log=getJsonToLongArray(jsonLongs.toString());
        for(int i=0;i<log.length;i++){
            System.out.println(log[i]);
        }
        
        JSONArray jsonStrs = new JSONArray();
        jsonStrs.add(0, "2011-01-01");
        jsonStrs.add(1, "2011-01-03");
        jsonStrs.add(2, "2011-01-04 11:11:11");
        
        Date[] d=getJsonToDateArray(jsonStrs.toString());        
        for(int i=0;i<d.length;i++){
            System.out.println(d[i]);
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章