从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。
/*** 从json数组中得到相应java数组* JSONArray下的toArray()方法的使用* @param str* @return*/public static Object[] getJsonToArray(String str) {JSONArray jsonArray = JSONArray.fromObject(str);return jsonArray.toArray();}public static void main(String[] args) {        JSONArray jsonStrs = new JSONArray();jsonStrs.add(0, "cat");jsonStrs.add(1, "dog");jsonStrs.add(2, "bird");jsonStrs.add(3, "duck");Object[] obj=getJsonToArray(jsonStrs.toString());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数组转化为Long型* @param str* @return*/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型* @param str* @return*/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型* @param str* @return*/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型* @param str* @return*/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]);}}

转载于:https://blog.51cto.com/7194306/1578981

json学习之三:JSONArray的应用相关推荐

  1. Linux学习之三-Linux系统的一些重要配置文件

    Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0        ...

  2. matlab矩阵运算_MATLAB基础学习之三种基本运算

    MATLAB学习之三种运算 MATLAB软件 一.基本算数运算 在MATLAB中有两种矩阵运算:右除/和左除.如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),AB等效于inv(A)*B.注:i ...

  3. linux内核学习之三:linux中的32位与64位

    linux内核学习之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位" ...

  4. 智能会议系统(32)---WebRTC学习之三:录音和播放

    WebRTC学习之三:录音和播放 VoiceEngine中与录音和播放相关的头文件有五个,如下表所示: 头文件 包含的类 说明 voe_base.h VoiceEngineObserver Voice ...

  5. Json学习总结(8)——经过多方调研,最终还是决定禁用FastJson

    前言 老项目中使用到多种json类库,没有统一管理.最近开启全新的项目,准备对json类库进行统一,这样不仅能够压缩jar包的大小,也能够避免某个类库的漏洞导致系统问题.其实,就在前几个月因为Fast ...

  6. java对象转Json学习

    java对象转Json学习 json多用于数据存储.交换与传输,json相比于xml更小,更快,更容易解析 对象的表示方法 #java Person p = new Person(); p.setNa ...

  7. 华为鸿蒙系统HarmonyOS学习之三:鸿蒙HarmonyOS 系统安全性

    华为鸿蒙系统HarmonyOS学习之三:HarmonyOS 系统安全性 HarmonyOS(鸿蒙操作系统)采用全新的微内核设计,具有增强的安全性和低延迟.该微内核旨在简化内核功能,在内核外的用户模式下 ...

  8. Json 学习 JSONObject 和 JSONArray

    1  JSONObject 添加一个jsonobject JSONObject jsonObject = new JSONObject();jsonObject.put("age" ...

  9. mysql与Json学习总结

    mysql在2015年的5.7以后,InnoDB存储引擎已经开始对json数据进行支持,对json支持有如下优势: JSON数据有效性检查:BLOB类型无法在数据库层做这样的约束性检查,如不合法会报错 ...

最新文章

  1. 【Qt】通过QtCreator源码学习Qt(七):插件管理类简介
  2. Building High Performance Websites (1) CDN
  3. Linux中防火墙(一)
  4. 查询 oracle_关于oracle和mysql数据库的查询问题
  5. 开发pc页面_uniapp支持PC版真正的一统天下来了全端支持不是梦
  6. 【机器视觉学习笔记】双线性插值实现图片任意角度旋转(C++)
  7. C# IIS配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
  8. python经典一百道习题(转自奶酪博客)
  9. nginx设置http强制跳转https
  10. RK 3399 切换以太网卡
  11. mysql 主从日志文件_mysql 主从日志文件mysql
  12. python中datetime函数怎么获得当年年份_Python 日期和时间函数使用指南
  13. [ACM训练] 算法初级 之 搜索算法 之 广度优先算法BFS (POJ 3278+1426+3126+3087+3414)
  14. npm install报错ERR code ETIMEDOUT的解决办法
  15. 中国古人对于性滥交的三种态度赵炎新浪博客
  16. 多视图学习 (Multi-View Learning)
  17. Excel 随机生成 算术题
  18. 你所不知道的Win键
  19. unrecognized or represents more than one time zone
  20. LLDB breakpoint syntax

热门文章

  1. 菜鸟教程java二维数组_asp数组的使用介绍
  2. mysql数据库d导出数据_mysql数据库导入导出文件
  3. python的__name__
  4. mysql capi函数详解_技术分享|MySQLCAPI参数MYSQL_OPT_READ_TIMEOUT的一些行为分析
  5. android右上角设置按钮,Android:如何在右上角的按钮角添加三角形
  6. java stream Interface BiFunction<T,U,R>
  7. Node.js ES6模块化
  8. 编程语言对比 循环语句
  9. 2.10 词嵌入除偏
  10. list 操作 java_Java,List操作技巧