zoukankan      html  css  js  c++  java
  • json学习之JSONArray的应用(转载)

    从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 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 
    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      * 111
    92      * 222
    93      * 333
    94      * 444
    95      * 
    96      * Sat Jan 01 00:00:00 CST 2011
    97      * Mon Jan 03 00:00:00 CST 2011
    98      * Tue Jan 04 00:00:00 CST 2011
    99      */
    复制代码
  • 相关阅读:
    使用tcmalloc编译启动时宕机
    使用tcmalloc编译出现undefined reference to `sem_init'
    使用AddressSanitizer做内存分析(一)——入门篇
    VIM-美化你的标签栏
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
    Entity Framework Code First (一)Conventions
  • 原文地址:https://www.cnblogs.com/haw2106/p/6636077.html
Copyright © 2011-2022 走看看