java 後臺封裝json數據學習總結(二)

1、JSONArray的應用html

從json數組中獲得相應java數組,若是要獲取java數組中的元素,只須要遍歷該數組。java

		/*
		 * 從json數組中獲得相應java數組
		 * JSONArray下的toArray()方法的使用
		 */
		 JSONArray jsonStrs = new JSONArray();
         jsonStrs.add(0, "cat");
         jsonStrs.add(1, "dog");
         jsonStrs.add(2, "bird");
         jsonStrs.add(3, "duck");
         
         Object[] obj=jsonStrs.toArray();
         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

import java.text.SimpleDateFormat;
import java.util.Date;

import net.sf.json.JSONArray;

public class Test {
	/*
	 * 從json數組中獲得相應java數組
	 * JSONArray下的toArray()方法的使用
	 */
  public static Object[] getJsonToArray(String str) {
        JSONArray jsonArray = JSONArray.fromObject(str);
        return jsonArray.toArray();
  }
  /**
   * 將json數組轉化爲Long型
   */
  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型
   */
  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型
   */
  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型
   */
  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
相關文章
相關標籤/搜索