JSONArray的应用

本文介绍如何将JSON数组转换为Java中的多种类型数组,包括String、Long、Double、Integer及Date等,并提供具体示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

结果如下:

 * 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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值