今天寫項目的時候要做一個MyBatis的帶IN子句的刪除,於是用一個整型數組來保存待刪除數據的ID
從前端將JSON字符串搞過來之后如何將JSONArray轉換成int類型數組就成了個問題
下面是我的辦法(此處的JSONArray對象是Hutool中的,不是org.json中的,不過道理都是一樣的)
1 JSONArray jsonArray = JSONUtil.parseArray(deleteFileIds); 2 if (jsonArray.size() == 0) { 3 return new Responses(StatusCode.INPUT_ERROR, StatusMessage.PARAM_ERROR); 4 } 5 int[] deleteFileIdArray = new int[jsonArray.size()]; 6 for (int i = 0; i < jsonArray.size(); i++) { 7 deleteFileIdArray[i] = (int) jsonArray.get(i); 8 }
解讀一下代碼流程大概就是:
將字符串轉換為JSON數組
然后初始化一個大小跟JSON數組相同的int類型數組
使用循環遍歷元素將JSON數組中的每個元素放入int類型數組中
不管是Hutool還是fastjson貌似都沒有提供JSONArray轉換成基本類型數組的方法,只能自己寫一個了
多學習,多思考
