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

2023-12-29 19:34:54

一:问题

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

三:总结

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

文章来源:https://blog.csdn.net/m0_57385405/article/details/135296551
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。