java使用JSON工具解析字符串、数组详解

一:问题

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(替换为最新版本即可)

        
        
            org.json
            json
            20230618
        

(2)在对应的的类中导入包,千万别导错

java使用JSON工具解析字符串、数组详解_第1张图片

(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的形式进行了数据输出

java使用JSON工具解析字符串、数组详解_第2张图片

三:总结

主要就是细心一点别导错包

你可能感兴趣的:(java)