当前位置: 首页 > news >正文

Java 在Json对象字符串中查找和提取特定的数据

1、在处理JSON数据时,需要提出个别字段的值,通过正则表达式提取特定的数据

public static void main(String[] args) {//定义多个JSON对象字符串类型,假设每个对象有a,b,c 字段String strJson = "{\"a\":1.23,\"b\":45.67,\"c\":89.01},"+ "{\"a\":4.56,\"b\":78.90,\"c\":12.34}";// 定义正则表达式,用于匹配每个对象中的字段值,以下是匹配a,b,c 字段String regex = "\"a\":([\\d.]+),\"b\":([\\d.]+),\"c\":([\\d.]+)";//编译正则表达式,将正则表达式编译成模式对象。Pattern pattern = Pattern.compile(regex);//创建匹配器,用于在  strJson  字符串中查找匹配项。Matcher matcher = pattern.matcher(strJson);//定义集合List<String> dataA = new ArrayList<>();List<String> dataB = new ArrayList<>();List<String> dataC = new ArrayList<>();//循环查找每个匹配项while (matcher.find()) {//matcher.group(n) 提取匹配的值,其中n是捕获组的索引(索引从1开始)dataA.add(matcher.group(1));// 将提取的a数据项添加到列表中dataB.add(matcher.group(2));// 将提取的b数据项添加到列表中dataC.add(matcher.group(3));// 将提取的c数据项添加到列表中}// 输出提取的结果for (String s : dataA) {System.out.println("a的值:"+s);}System.out.println("-----分割线-----");for (String s : dataB) {System.out.println("b的值:"+s);}  System.out.println("-----分割线-----");for (String s : dataC) {System.out.println("c的值:"+s);}}

2、打印结果:

3、总结:

通过 Pattern 和 Matcher ,可以在字符串中查找和提取特定模式的数据。在处理 JSON 数据时,正则表达式可以是一个有用的工具,尽管在某些情况下,使用 JSON 解析库(如 Jackson 或 Gson)可能更为可靠和方便 

http://www.lryc.cn/news/498819.html

相关文章:

  • synchronized的特性
  • 领域泛化与领域自适应
  • 使用aspx,完成一个转发http的post请求功能的api接口,url中增加目标地址参数,传递自定义header参数
  • 实际车辆行驶轨迹与预设路线偏离检测的Java实现
  • 从excel数据导入到sqlsever遇到的问题
  • Linux操作系统——Linux的磁盘管理系统、文件inode及软硬链接
  • 算法刷题Day11: BM33 二叉树的镜像
  • WPF+MVVM案例实战与特效(三十五)- 掌握 Windows 屏幕键盘控制的艺术(TouchKeyBoardHelper 类)
  • Python+OpenCV系列:绘制中文的方法
  • 精品推荐 | StarLighter 1×dsDNA HS Assay Kit
  • 挑战用React封装100个组件【010】
  • burp suite 5
  • 锐捷Web认证
  • 【开源免费】基于Vue和SpringBoot的服装生产管理系统(附论文)
  • 每日速记10道MySQL面试题16
  • 云计算考试题
  • 无人机理论考试合格证书获取
  • AcWing 3496. 特殊年份
  • YOLOv8模型改进 第二十讲 添加三重注意力机制Triplet Attention 提升小目标/遮挡目标
  • Linux絮絮叨(三) Ubuntu桌面版添加中文拼音输入法
  • Ungoogled Chromium127编译指南 Windows篇 - 安装Visual Studio 2022(六)
  • Kubernetes(K8s)
  • 证明切平面过定点的曲面是锥面
  • python中数组怎么转换为字符串
  • Linux 查看运行了哪些服务
  • WPS EXCEL 使用 WPS宏编辑器 写32位十六进制数据转换为浮点小数的公式。
  • SpringMVC ——(1)
  • 嵌入式中防linux的通用MCU系统
  • Windows电脑伪关机(快速启动模式),怎么真关机
  • 远程修改ESXi 6.7管理IP地址