7、JSONArray的应用

来源:互联网 发布:阿拉伯血钻野燕麦知乎 编辑:程序博客网 时间:2024/04/30 21:43

从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。

复制代码
 1   /** 2       * 从json数组中得到相应java数组 3       * JSONArray下的toArray()方法的使用 4       * @param str 5       * @return 6       */ 7       public static Object[] getJsonToArray(String str) { 8           JSONArray jsonArray = JSONArray.fromObject(str); 9           return jsonArray.toArray();10       }11 12    public static void main(String[] args) {        13         JSONArray jsonStrs = new JSONArray();14         jsonStrs.add(0, "cat");15         jsonStrs.add(1, "dog");16         jsonStrs.add(2, "bird");17         jsonStrs.add(3, "duck");18         19         Object[] obj=getJsonToArray(jsonStrs.toString());20         for(int i=0;i<obj.length;i++){21               System.out.println(obj[i]);22         }23     }
复制代码

从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。 
分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。 
同样,如果要获取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 str18       * @return19       */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 str32       * @return33       */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 str45       * @return46       */47      public static Date[] getJsonToDateArray(String jsonString) {48 49           JSONArray jsonArray = JSONArray.fromObject(jsonString);50           Date[] dateArray = new Date[jsonArray.size()];51           String dateString;52           Date date;53           SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");54           for (int i = 0; i < jsonArray.size(); i++) {55               dateString = jsonArray.getString(i);56               try {57                   date=sdf.parse(dateString);58                   dateArray[i] = date;59               } catch (Exception e) {60                   e.printStackTrace();61               }62           }63           return dateArray;64     }65 66 67  public static void main(String[] args) {68             69         JSONArray jsonLongs = new JSONArray();70         jsonLongs.add(0, "111");71         jsonLongs.add(1, "222.25");72         jsonLongs.add(2, new Long(333));73         jsonLongs.add(3, 444);74         75         Long[] log=getJsonToLongArray(jsonLongs.toString());76         for(int i=0;i<log.length;i++){77             System.out.println(log[i]);78         }79         80         JSONArray jsonStrs = new JSONArray();81         jsonStrs.add(0, "2011-01-01");82         jsonStrs.add(1, "2011-01-03");83         jsonStrs.add(2, "2011-01-04 11:11:11");84         85         Date[] d=getJsonToDateArray(jsonStrs.toString());        86         for(int i=0;i<d.length;i++){87             System.out.println(d[i]);88         }89     }90   /*结果如下:91      * 11192      * 22293      * 33394      * 44495      * 96      * Sat Jan 01 00:00:00 CST 201197      * Mon Jan 03 00:00:00 CST 201198      * Tue Jan 04 00:00:00 CST 201199      */
0 0
原创粉丝点击