json学习之三:JSONArray的应用
从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的应用相关推荐
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- matlab矩阵运算_MATLAB基础学习之三种基本运算
MATLAB学习之三种运算 MATLAB软件 一.基本算数运算 在MATLAB中有两种矩阵运算:右除/和左除.如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),AB等效于inv(A)*B.注:i ...
- linux内核学习之三:linux中的32位与64位
linux内核学习之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位" ...
- 智能会议系统(32)---WebRTC学习之三:录音和播放
WebRTC学习之三:录音和播放 VoiceEngine中与录音和播放相关的头文件有五个,如下表所示: 头文件 包含的类 说明 voe_base.h VoiceEngineObserver Voice ...
- Json学习总结(8)——经过多方调研,最终还是决定禁用FastJson
前言 老项目中使用到多种json类库,没有统一管理.最近开启全新的项目,准备对json类库进行统一,这样不仅能够压缩jar包的大小,也能够避免某个类库的漏洞导致系统问题.其实,就在前几个月因为Fast ...
- java对象转Json学习
java对象转Json学习 json多用于数据存储.交换与传输,json相比于xml更小,更快,更容易解析 对象的表示方法 #java Person p = new Person(); p.setNa ...
- 华为鸿蒙系统HarmonyOS学习之三:鸿蒙HarmonyOS 系统安全性
华为鸿蒙系统HarmonyOS学习之三:HarmonyOS 系统安全性 HarmonyOS(鸿蒙操作系统)采用全新的微内核设计,具有增强的安全性和低延迟.该微内核旨在简化内核功能,在内核外的用户模式下 ...
- Json 学习 JSONObject 和 JSONArray
1 JSONObject 添加一个jsonobject JSONObject jsonObject = new JSONObject();jsonObject.put("age" ...
- mysql与Json学习总结
mysql在2015年的5.7以后,InnoDB存储引擎已经开始对json数据进行支持,对json支持有如下优势: JSON数据有效性检查:BLOB类型无法在数据库层做这样的约束性检查,如不合法会报错 ...
最新文章
- 【Qt】通过QtCreator源码学习Qt(七):插件管理类简介
- Building High Performance Websites (1) CDN
- Linux中防火墙(一)
- 查询 oracle_关于oracle和mysql数据库的查询问题
- 开发pc页面_uniapp支持PC版真正的一统天下来了全端支持不是梦
- 【机器视觉学习笔记】双线性插值实现图片任意角度旋转(C++)
- C# IIS配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
- python经典一百道习题(转自奶酪博客)
- nginx设置http强制跳转https
- RK 3399 切换以太网卡
- mysql 主从日志文件_mysql 主从日志文件mysql
- python中datetime函数怎么获得当年年份_Python 日期和时间函数使用指南
- [ACM训练] 算法初级 之 搜索算法 之 广度优先算法BFS (POJ 3278+1426+3126+3087+3414)
- npm install报错ERR code ETIMEDOUT的解决办法
- 中国古人对于性滥交的三种态度赵炎新浪博客
- 多视图学习 (Multi-View Learning)
- Excel 随机生成 算术题
- 你所不知道的Win键
- unrecognized or represents more than one time zone
- LLDB breakpoint syntax
热门文章
- 菜鸟教程java二维数组_asp数组的使用介绍
- mysql数据库d导出数据_mysql数据库导入导出文件
- python的__name__
- mysql capi函数详解_技术分享|MySQLCAPI参数MYSQL_OPT_READ_TIMEOUT的一些行为分析
- android右上角设置按钮,Android:如何在右上角的按钮角添加三角形
- java stream Interface BiFunction<T,U,R>
- Node.js ES6模块化
- 编程语言对比 循环语句
- 2.10 词嵌入除偏
- list 操作 java_Java,List操作技巧