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