• 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      */
    复制代码
  • 相关阅读:
    python使用virtualenv创建和管理虚拟环境
    花费一周刷完两份面试pdf(含答案)轻松拿下了抖音、头条、京东、小米等大厂的offer,成功度过程序员的寒冬。
    基于JAVA-SSM框架的B/S微博系统的设计与实现
    如何破解压缩文件zip,rar
    最新精仿Chinaz中国站长网整站源码带全部数据带采集功能
    淘宝自动发货源码,网店自动值守发货系统 不限制域名 支持客户自助提货及自动评价
    得到影视源码分享(有演示),带一键采集,亲测能用,适合懒人做电影站!
    JAVA汽车4S店管理系统
    H5传奇源码,附带微信支付,商城系统,新增了元宝交易商城系统源码
    jdk8的安装及卸载
  • 原文地址:https://www.cnblogs.com/haw2106/p/6636077.html
Copyright © 2020-2023  润新知