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

三:总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/308229.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

边缘计算网关:重新定义物联网数据处理

随着物联网&#xff08;IoT&#xff09;设备的爆炸式增长&#xff0c;数据处理和分析的需求也在迅速增加。传统的数据处理方式&#xff0c;将所有数据传输到中心服务器进行处理&#xff0c;不仅增加了网络负担&#xff0c;还可能导致数据延迟和安全问题。因此&#xff0c;边缘计…

电气产品外壳常用材质PA、PC、PBT、ABS究竟是什么?

在如今工业制造领域&#xff0c;各种改性塑料、复合材料以及轻质合金材料的运用日趋成熟。在电气领域&#xff0c;不同电气产品的外壳、组件材质采用不同材料&#xff0c;以同为科技&#xff08;TOWE&#xff09;电气产品为例&#xff0c;工业连接器系列产品采用PA6外壳材质、机…

小米电脑管家 - 手机平板电脑家居互联

系列文章目录 前言 联想电脑安装小米电脑管家实现设备互联 如图&#xff0c;将 小米平板 5 Pro 作为联想笔记本 GeekPro 5000 &#xff08;这垃圾电脑&#xff09;的副屏。 可以在小米平板控制笔记本&#xff0c;如图所示 一、官方使用手册 参考&#xff1a;小米电脑管家帮助 …

浅谈高并发以及三大利器:缓存、限流和降级

引言 高并发背景 互联网行业迅速发展&#xff0c;用户量剧增&#xff0c;系统面临巨大的并发请求压力。 软件系统有三个追求&#xff1a;高性能、高并发、高可用&#xff0c;俗称三高。三者既有区别也有联系&#xff0c;门门道道很多&#xff0c;全面讨论需要三天三夜&#…

交叉编译aarch64架构支持openssl的curl、libcurl

本文档旨在指导读者在x86_64平台上交叉编译curl和openssl库以支持aarch64架构。在开始之前&#xff0c;请确保您的系统环境已正确配置。 1. 系统环境准备 系统是基于Ubuntu 20.04 LTS&#xff0c;高版本可能会有问题。首页&#xff0c;安装必要的开发工具和库文件。打开终端并…

楼宇对讲门铃选型分析

目前很多的高层住宅都使用了对讲门铃了&#xff0c;在频繁使用中&#xff0c;门铃会出现的越来越多种类&#xff0c;下面我就简单的介绍会有用到的几款芯片. 语音通话芯片&#xff1a;D34018,D34118,D5020,D31101; D34018 单片电话机通话电路&#xff0c;合并了必 需的放大器…

【CSS3】第5章 盒子模型

学习目标 熟悉盒子模型的概念&#xff0c;能够说出盒子模型的基本结构。 掌握<div>标签的用法&#xff0c;能够使用<div>标签制作页面模块。 掌握边框属性的用法&#xff0c;能够为盒子设置不同的边框效果。 掌握边距属性的用法&#xff0c;能够使用内边距和外边…

thingsboard前端缓存--nginx

thingsboardnginx thingsboard部署到阿里云服务器之后&#xff0c;由于登录界面要发送的文件很大&#xff0c;并且服务器的带宽目前有限&#xff0c;因此配置一个nginx&#xff0c;进行前端页面的一些缓存&#xff0c;参考了https://qianchenzhumeng.github.io/posts/Nginx%E5…

Junit在多线程测试时的坑

Junit单元测试主线程退出&#xff0c;子线程也会退出 Testpublic void test() throws InterruptedException {Thread t1 new Thread(() -> {try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(Thread.…

网站提示“不安全”怎么解决

在互联网中&#xff0c;安全问题至关重要。访问某些网站时&#xff0c;可能会遇到“不安全”警告&#xff0c;通常是由于缺乏SSL证书。SSL证书是数字证书&#xff0c;用于确保互联网通信的安全和保密。 “不安全”问题通常源于缺少SSL证书。SSL通过加密通信&#xff0c;防止第三…

软件测试/测试开发丨Selenium环境安装配置

一、selenium 环境配置 1、下载浏览器 目前比较常用的浏览器是 Google Chrome 浏览器&#xff0c;所以本教程以 chrome 为主&#xff0c;后面简介一下其他浏览器的环境配置。 chrome 下载: www.google.cn/chrome/ 2、chromedriver 环境配置 chromedriver 是chromedriver提…

私有部署ELK,搭建自己的日志中心(五)-- 使用filebeat采集K8S pod的jvm日志

一、背景 前文采集的日志是来源于虚拟机&#xff0c;在云原生下的容器化部署时&#xff0c;需要采集Pod里的jvm日志。 二、术语 1、临时存储emptyDir emptyDir在Pod被分配到Node时创建的&#xff0c;它的初始内容为空&#xff0c;并且无须指定宿主机上对应的目录文件&#…