TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
从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 */
复制代码
|
|