json学习之JSONArray的应用(转载)
从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 */

json学习之JSONArray的应用(转载)的更多相关文章
- 不同json如何使用jsonArray以及ajax如何取,实现读取新闻
jsp界面 <%@ page contentType="text/html;charset=gb2312"%><%@page import="org.j ...
- JSON文本转换为JSONArray 转换为 List<Object>
package com.beijxing.TestMain; import java.io.File; import java.io.IOException; import java.util.Arr ...
- json学习系列(8)JSON与JAVA数据的相互转换实例
一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...
- Json学习篇
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行 ...
- java servlet+jquery+json学习小例子
引入JSON的jar包: 注意,如果包不全,页面请求servlet时,jquery ajax会返回error:function 弹出error occured!!! HTML Code: <%@ ...
- C# json反序列化 对象中嵌套数组 (转载) 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
C# json反序列化 对象中嵌套数组 (转载) 看图: 这里可以看到是二层嵌套!!使用C#如何实现?? 思路:使用list集合实现 → 建立类 → list集合 → 微软的 Newtonso ...
- json 与其他数据 格式转换及json学习新得
jsonobject var a={"a","A"} 通过json都对象能很轻松的操作json数据 jsonString var a=" ...
- net.sf.json JSONObject与JSONArray总结
JSONObject:json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} JSONArray:json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式 ...
- json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸
我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...
随机推荐
- 取得COM对象的UUID并以string输出
IID tmp = __uuidof(ClassLibrary1::Class1); OLECHAR * buf; StringFromIID(tmp, &buf); 好像要#include ...
- Java多线程简析——Synchronized(同步锁)、Lock以及线程池
Java多线程 Java中,可运行的程序都是有一个或多个进程组成.进程则是由多个线程组成的.最简单的一个进程,会包括mian线程以及GC线程. 线程的状态 线程状态由以下一张网上图片来说明: 在图中, ...
- HUD 2544 最短路 迪杰斯特拉算法
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Eclipse “cannot be resolved to a type” error
引言: eclipse新导入的项目经常可以看到"XX cannot be resolved to a type"的报错信息.本文将做以简单总结. 正文: (1)jd ...
- JS学习笔记(1)--sort排序
sort() 方法用于对数组的元素进行排序. 请注意,数组在原数组上进行排序,不生成副本. 说明 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进 ...
- Unix系统编程()brk,sbrk
在堆上分配内存 进程可以通过增加堆的大小来分配内存,所谓堆是一段长度可变的连续虚拟内存,始于进程的未初始化数据段末尾,随着内存的分配和释放而增减.通常将堆的当前内存边界称为"program ...
- gch文件学习
今晚学习友元函数的时候一点一点的在写一个头文件和一个源文件,中间g++ test.h了一下,无意中就生成了test.h.gch文件.后来修改了头文件的内容,但是不知道为什么一直各种出错,一番折腾之后才 ...
- HDFS的实现机制
参考以上这张图,实际上我们客户端访问HDFS里面的内容时,并不需要真实知道内容存在于服务器的内容的真实路径,我们只需要知道一个虚拟路径就可以,比如最上面的hdfs://weekend110:9000/ ...
- Linux下tomcat启动
在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看 ...
- 使ie9以下版本支持canvas,css3等主流html5技术的方法
1.前言. ie6,7,8支持html5,看起来比较难,其实有一种方法很通用,就是引入js和css,这种可插拔的引入对开发很有帮助.比如,下面是一个让网页支持canvas和css3的例子. 2.例 ...