一:问题
1.最近自己在前后端数据交互时需要进行JSON格式字符串、数组数据进行转换,进行问题整理
2.遇到需要JSON字符串转换的朋友可以阅读
二:解析步骤
1.第一点首先确定需求,明确需要转的字符串是一个对象还是一个数组,下面我模拟我自己的数组字符串进行演示
String s="[[\"2023-12-30 09:00:00\",\"2023-12-30 11:00:00\"],[\"2023-12-30 11:00:00\",\"2023-12-30 13:00:00\"],[\"2023-12-30 13:00:00\",\"2023-12-30 15:00:00\"],[\"2023-12-30 15:00:00\",\"2023-12-30 17:00:00\"],[\"2023-12-30 17:00:00\",\"2023-12-30 19:00:00\"],[\"2023-12-30 19:00:00\",\"2023-12-30 21:00:00\"]]\n";
这个是我定义的字符串数组,下面演示如何转换
2.实现步骤
(1)导入pom.xml依赖,注意的是版本version(替换为最新版本即可)
<!--Json格式解析--><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20230618</version></dependency>
(2)在对应的的类中导入包,千万别导错
(3)编写对应代码实现数据解析
String s="[[\"2023-12-30 09:00:00\",\"2023-12-30 11:00:00\"],[\"2023-12-30 11:00:00\",\"2023-12-30 13:00:00\"]," +"[\"2023-12-30 13:00:00\",\"2023-12-30 15:00:00\"],[\"2023-12-30 15:00:00\",\"2023-12-30 17:00:00\"]," +"[\"2023-12-30 17:00:00\",\"2023-12-30 19:00:00\"],[\"2023-12-30 19:00:00\",\"2023-12-30 21:00:00\"]]\n";//创建JSONArray对象,将解析的字符串通过有参构造传递进去直接进行解析JSONArray objects =new JSONArray(s);//打印一下字符串logger.info(objects+"");// 遍历数组,提取时间数据for (int i = 0; i < objects.length(); i++) {//依次拿数组里面的数组JSONArray timeRange = objects.getJSONArray(i);//根据数组角标可以获取到数据String startTime = timeRange.getString(0);String endTime = timeRange.getString(1);//输出打印一下,看到效果System.out.println("Start Time: " + startTime);System.out.println("End Time: " + endTime);}
(4)效果演示,通过debug的形式进行了数据输出
三:总结
主要就是细心一点别导错包