JSONArray的应用

从json数组中得到相应java数组,如果要获取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下的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数组中的元素,只需要遍历该数组。

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(2new Long(333));   
  73.        jsonLongs.add(3444);   
  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.  */  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值