从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的应用(转载)的更多相关文章

  1. 不同json如何使用jsonArray以及ajax如何取,实现读取新闻

    jsp界面 <%@ page contentType="text/html;charset=gb2312"%><%@page import="org.j ...

  2. JSON文本转换为JSONArray 转换为 List<Object>

    package com.beijxing.TestMain; import java.io.File; import java.io.IOException; import java.util.Arr ...

  3. json学习系列(8)JSON与JAVA数据的相互转换实例

    一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...

  4. Json学习篇

      JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行 ...

  5. java servlet+jquery+json学习小例子

    引入JSON的jar包: 注意,如果包不全,页面请求servlet时,jquery ajax会返回error:function 弹出error occured!!! HTML Code: <%@ ...

  6. C# json反序列化 对象中嵌套数组 (转载) 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。

    C# json反序列化 对象中嵌套数组 (转载)   看图: 这里可以看到是二层嵌套!!使用C#如何实现?? 思路:使用list集合实现 → 建立类 → list集合 → 微软的   Newtonso ...

  7. json 与其他数据 格式转换及json学习新得

    jsonobject   var a={"a","A"}   通过json都对象能很轻松的操作json数据 jsonString     var a=" ...

  8. net.sf.json JSONObject与JSONArray总结

    JSONObject:json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} JSONArray:json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式 ...

  9. json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸

    我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...

随机推荐

  1. 公众号的TOKEN配置PHP代码

    1.在后台添加好URL和TOKEN和生成43位随机码  注意域名URL需要备案 2.上传到服务器 3.公众号后台要点提交即可 error_reporting(0); $signature=$_REQU ...

  2. C#-拷贝目录内容(文件和子目录)

    /// <summary> /// 拷贝目录内容 /// </summary> /// <param name="source">源目录< ...

  3. Mockito 相关资料

    https://monkeyisland.pl/2008/04/26/asking-and-telling/ http://qiuguo0205.iteye.com/blog/1456528 http ...

  4. Mysql 数据库数值类型详解

    MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ...

  5. dbcp数据库连接池管理

    该包主要是管理数据库的链接,获取链接.释放连接.设置最大连接数.初始化连接数.回收的空闲时间 在连接数据库时创建一个连接池可以很方便的管理所有数据库链接,和高效的使用数据库连接. 主要的两个对象是Ba ...

  6. gdb前端: VIM+Pyclewn 调试C/C++

    (gdb) mapkeys C-B : break "${fname}":${lnum} # set breakpoint at current line C-D : down C ...

  7. 集合运算 蓝桥杯 set容器

    题目描述 给出两个整数集合A.B,求出他们的交集.并集以及B在A中的余集. 输入格式 第一行为一个整数n,表示集合A中的元素个数. 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素. 第三行 ...

  8. 总结iOS9中的新的方法

    iOS平台在快速的发展,各种接口正在不断的更新.随着iOS9的发布,又有一批老方法不推荐使用了,你若调用这些方法,运行的结果是没有问题的,但是会出现警告“***is deprecated :first ...

  9. GDB和WinDbg中调用函数

    GDB: 特别简单,直接写调用式子即可,如下图的p word.c_str(),其中word的类型是std::string WinDbg:目前都说是.call命令,说实话我宁愿不用...见: http: ...

  10. 由于link顺序错误导致的undefined reference

    其实我之前就遇到过这个问题,也强调过,GNU-G++在link阶段是依赖输入的.o或者.a文件的顺序的.如果顺序错误会导致undefined reference错误 见这篇随笔:http://www. ...