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

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

三:总结

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

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值