jsonArray與java中數據轉換

從json數組中獲得相應java數組,若是要獲取java數組中的元素,只須要遍歷該數組。 java

/** json

      * 從json數組中獲得相應java數組 數組

      * JSONArray下的toArray()方法的使用 spa

      * @param str .net

      * @return orm

      */ get

      public static Object[] getJsonToArray(String str) { io

          JSONArray jsonArray = JSONArray.fromObject(str); class

          return jsonArray.toArray(); date

      }

 

   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]);

        }

    }

  /*結果以下:

     * 111

     * 222

     * 333

     * 444

     * 

     * Sat Jan 01 00:00:00 CST 2011

     * Mon Jan 03 00:00:00 CST 2011

     * Tue Jan 04 00:00:00 CST 2011

     */

相關文章
相關標籤/搜索