org.json.JSONArray转换为int数组

2023-12-09 10:58

本文主要是介绍org.json.JSONArray转换为int数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先,org.json.JSONArray转换为数组这一需求相信很多人是遇不到的,我也是脑抽了才有这个需求,先讲一下为啥我会有这个需求吧;
我在写java后台,前后台数据传输用的json格式,前台传给后台的一个参数值的格式是数组,后台取到的数据格式就是JSONArray ,然后我需要这个数组为参数使用mybatis进行数据库查询,因为是第一次写,就直接把查询条件的参数写成了数组,然后又懒得改(其实,也想知道应该怎么转换,毕竟好奇心太重),所有我需要把前台传给我的JSONArray转行成java数组,于是我就有了这个需求;以后数据库查询的集合参数尽量使用List,或者是Map(我在找mybatis使用集合作为参数进行数据库查询的方法的时候,还非常纳闷,为啥都是List,Map,很少有array,现在知道了);
org.json.JSONArray转换为数组,有两种思路,第一种是把JSONArray转换成字符串,然后把字符串转换为数组,第二种是把JSONArray转换成List,然后把List转换为数组
第一种思路的实现:

      JSONObject req = new JSONObject(URLDecoder.decode(str, "UTF-8"));//org.json.JSONArray不能直接转化为数组,尝试先转string,再转array;String str1 = req.get("analysisItemId").toString();//正常情况下,JSONArray很少转化为数组,//此处字符串比正常数组多出一对[],要先去除;String str2 = str1.substring(1);String idsStr = str2.substring(0,str2.length()-1);String[] idsStrArray = idsStr.split(",");int[] ids = new int[idsStrArray.length];  for(int i=0; i < idsStrArray.length; i++){  ids[i] = Integer.parseInt(idsStrArray[i]);  }

第二种思路的实现:
这里没有使用List的toArray()方法,是因为该方法只能用于Object数组,不能用于int[];

      JSONObject req = new JSONObject(URLDecoder.decode(str, "UTF-8"));JSONArray idsJSONArray = (JSONArray) req.get("analysisItemId");//org.json.JSONArray没有toArray()方法,但是有toList()方法List idsList = (List) idsJSONArray.toList();int[] ids = new int[idsList.size()]; for(int i = 0;i<idsList.size();i++){ids[i] = (Integer) idsList.get(i); }

org.json.JSONArray提供了toList()方法,但是没有提供toArray()方法;

这里的JSONArray前面一直加了org.json,是因为还有一个库的JSONArray是有toArray方法的,加个前缀,以示区别;

这篇关于org.json.JSONArray转换为int数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473529

相关文章

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

使用C#实现将RTF转换为PDF

《使用C#实现将RTF转换为PDF》RTF(RichTextFormat)是一种通用的文档格式,允许用户在不同的文字处理软件中保存和交换格式化文本,下面我们就来看看如何使用C#实现将RTF转换为PDF... 目录Spire.Doc for .NET 简介安装 Spire.Doc代码示例处理异常总结RTF(R

OFD格式文件及如何适应Python将PDF转换为OFD格式文件

《OFD格式文件及如何适应Python将PDF转换为OFD格式文件》OFD是中国自主研发的一种固定版式文档格式,主要用于电子公文、档案管理等领域,:本文主要介绍OFD格式文件及如何适应Python... 目录前言什么是OFD格式文档?使用python easyofd库将PDF转换为OFD第一步:安装 eas

基于Java实现PPT到PDF的高效转换详解

《基于Java实现PPT到PDF的高效转换详解》在日常开发中,经常会遇到将PPT文档批量或单文件转换为PDF的需求,本文将详细介绍其使用流程、核心代码与常见问题解决方案,希望对大家有所帮助... 目录一、环境配置Maven 配置Gradle 配置二、核心实现:3步完成PPT转PDF1. 单文件转换(基础版)

使用C#实现Excel与DataTable的相互转换

《使用C#实现Excel与DataTable的相互转换》在软件开发中,Excel文件和DataTable是两种广泛使用的数据存储形式,本文将介绍如何通过C#实现Excel文件与Data... 目录安装必要的库从 Excel 导出数据到 DataTable从 DataTable 导入数据到 Excel处理 E

利用Python将PDF文件转换为PNG图片的代码示例

《利用Python将PDF文件转换为PNG图片的代码示例》在日常工作和开发中,我们经常需要处理各种文档格式,PDF作为一种通用且跨平台的文档格式,被广泛应用于合同、报告、电子书等场景,然而,有时我们需... 目录引言为什么选择 python 进行 PDF 转 PNG?Spire.PDF for Python

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法