Java在JSON字符串中提取值

为了从给定的JSON字符串中提取SummarizedData中的Value值,可以使用Java中的Jackson库或Gson库。下面是使用Jackson库的示例:

步骤

  1. 添加Jackson依赖。
  2. 使用ObjectMapper解析JSON字符串。
  3. 导航到SummarizedData对象并提取Value值。

代码示例

1. 添加Jackson依赖

pom.xml文件中添加以下依赖项(如果你使用的是Maven):

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.4</version>
</dependency>
2. 使用Jackson解析JSON并提取值
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonExample {public static void main(String[] args) {String jsonString = "{\n" +"    \"Interval\": \"min\",\n" +"    \"Data\": [{\n" +"        \"Resource\": \"all\",\n" +"        \"CdnData\": [{\n" +"            \"Metric\": \"flux\",\n" +"            \"DetailData\": [{\n" +"                \"Time\": \"2024-07-16 00:00:00\",\n" +"                \"Value\": 5.2681682E9\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 00:01:00\",\n" +"                \"Value\": 6.142274E9\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 00:02:00\",\n" +"                \"Value\": 6.142274E9\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 16:34:00\",\n" +"                \"Value\": 1.84028283E10\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 16:35:00\",\n" +"                \"Value\": 1.58992701E10\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 16:36:00\",\n" +"                \"Value\": 1.64644905E10\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 16:37:00\",\n" +"                \"Value\": 1.58937733E10\n" +"            }, {\n" +"                \"Time\": \"2024-07-16 16:38:00\",\n" +"                \"Value\": 1.71402732E10\n" +"            }],\n" +"            \"SummarizedData\": {\n" +"                \"Name\": \"sum\",\n" +"                \"Value\": 9.0348401E12\n" +"            }\n" +"        }]\n" +"    }],\n" +"    \"RequestId\": \"f397bdfa-8358-448e-9428-acce3e88e2d7\"\n" +"}";try {// 创建ObjectMapper实例ObjectMapper objectMapper = new ObjectMapper();// 解析JSON字符串为JsonNodeJsonNode rootNode = objectMapper.readTree(jsonString);// 导航到SummarizedData的ValueJsonNode summarizedDataNode = rootNode.path("Data").get(0).path("CdnData").get(0).path("SummarizedData").path("Value");// 获取Value值double value = summarizedDataNode.asDouble();// 输出结果System.out.println("SummarizedData的Value值: " + value);} catch (Exception e) {e.printStackTrace();}}
}

说明

  • ObjectMapper:用于解析JSON字符串。
  • readTree:将JSON字符串解析为JsonNode对象。
  • path:用于导航到JSON节点。
  • asDouble:将节点的值转换为double

运行结果

运行上述代码,你应该会看到如下输出:

SummarizedData的Value值: 9.0348401E12

这样,你就可以成功地从JSON字符串中提取SummarizedData中的Value值。

下一步建议:
a. 尝试提取其他嵌套数据,进一步熟悉JsonNode的使用。
b. 添加异常处理,确保在JSON结构变化时有适当的处理逻辑。

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

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

相关文章

牛客周赛 Round 51

目录 A.小红的同余 B.小红的三倍数 C.小红充电 D.小红的gcd E.小红走矩阵 F.小红的数组 这次周赛题目比较简单&#xff0c;算法题也基本上是板子题&#xff0c;出得很好(&#xff5e;&#xffe3;▽&#xffe3;)&#xff5e; A.小红的同余 思路&#xff1a;签到题&am…

Android Studio 不再支持windows 7

Android Studio 一打开就报错&#xff1a; 无法找到入口 无法定位程序输入点 CreateAppContainerProfle 于动态链接库USERENV.dII 上。 截图如下&#xff1a; 经调查&#xff0c;是因为系统版本不兼容。 我目前的电脑环境&#xff1a;windows 7,但是现在的Android Studio要…

24年Hvv准备,6大方向,33篇技战法

进去不少小伙伴后台留言说需要技战法&#xff0c;因此小编对市面上的技战法进行了收集和总结&#xff0c;并对收集来的技战法进行了分类&#xff0c;总共分了6大类&#xff0c;共计33篇&#xff1a; 有需要的小伙伴关注我&#xff0c;点击在看&#xff0c;并私信回复“技战法”…

基于Java的原创歌曲分享平台

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyEclipse 工具&#xff1a;MyEclipse、B/S架构 系统展示 首页 用户注册界面 音乐分享…

【python】OpenCV—Coordinates Sorted Clockwise

文章目录 1、需求介绍2、算法实现3、完整代码 1、需求介绍 调用 opencv 库&#xff0c;绘制轮廓的矩形边框&#xff0c;坐标顺序为右下→左下→左上→右上&#xff0c;我们实现一下转化为熟悉的 左上→右上→右下→左下 形式 按照这样的顺序组织边界框坐标是执行透视转换或匹…

21天学通C++:第十三、十四章节

第十三章&#xff1a;类型转换运算符 类型转换是一种机制&#xff0c;让程序员能够暂时或永久性改变编译器对对象的解释。注意&#xff0c;这并不意味着程序员改变了对象本身&#xff0c;而只是改变了对对象的解释。可改变对象解释方式的运算符称为类型转换运算符。 为何需要…

深入理解 Vue.js 中的 nextTick:原理与应用

深入理解 Vue.js 中的 nextTick&#xff1a;原理与应用 在使用 Vue.js 开发复杂的前端应用时&#xff0c;你可能会遇到这样一种情况&#xff1a;你希望在数据更新后立即执行某些操作&#xff0c;但发现 DOM 并没有如预期那样立即更新。这时&#xff0c;nextTick 就派上用场了。…

数据库端口LookUp功能:从数据库中获取并添加数据到XML

本文将为大家介绍如何使用知行之桥EDI系统数据库端口的Lookup功能&#xff0c;从数据库中获取数据&#xff0c;并添加进输入的XML中。 使用场景&#xff1a;期待以输入xml中的值为判断条件从数据库中获取数据&#xff0c;并添加进输入xml中。 例如&#xff1a;接收到包含采购…

简述乐观锁和悲观锁——Java

悲观锁和乐观锁 悲观就是任何事都认为会往坏处发生&#xff0c;乐观就是认为任何事都会往好处发生。 打个比方&#xff0c;假如一个公司里只有一台打印机&#xff0c;如果多个人同时打印文件&#xff0c;可能出现混乱的问题&#xff0c;他的资料打印在了我的资料上&#xff0…

docker 容器内部UI映射host

方法有很多&#xff0c; 目前我总计一个我自己尝试成功的方法&#xff0c;通过xpra。 Xpra可以看作是screen或tmux的图形版本&#xff0c;支持远程X11应用程序的显示和交互。 在远程服务器上&#xff0c;安装Xpra&#xff1a; sudo apt-get install xpra启动Xpra服务器会话&…

代码设计模式:一句话直击内涵与意义、极简代码示例、基础3类27种,以及更多概念与视角

有些设计模式日用而不知&#xff0c;有些设计模式看似概念复杂实则内核简单&#xff0c;还有些设计模式则化繁为简直至少即是多——本文&#xff0c;将在极简形式下&#xff0c;传递出基础设计模式最核心的基本思想&#xff0c;一共3类27种&#xff0c;即&#xff1a;创建型模式…

Yolov8网络结构学习

详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出/部署 深入解析YOLOv8&#xff1a;网络结构与推理过程 YOLO? You Know! --YOLOV8详解 一&#xff1a;yolov8总体结构 1.Backbone:它采用了一系列卷积和 反卷积层只来提取特征&#xff0c;同时也使用了残差连接和…

C# —— HashTable

集合collections命名空间&#xff0c;专门进行一系列的数据存储和检索的类&#xff0c;主要包含了:堆栈、和队列、list、ArrayList、数组 HashTable 字典 storeList 排序列表等类 Array 数组 长度固定&#xff0c; 类型固定 通过索引值来进行访问 ArrayList动态数组&#xff0c…

网站开发:使用VScode安装yarn包和运行前端项目

一、首先打开PowerShell-管理员身份运行ISE 输入命令&#xff1a; set-ExecutionPolicy RemoteSigned 选择“全是”&#xff0c;表示允许在本地计算机上运行由本地用户创建的脚本&#xff0c;没有报错就行了 二、接着打开VScode集成终端 输入 npm install -g yarn 再次输入以…

小程序-3(页面导航+页面事件+生命周期+WXS)

目录 1.页面导航 声明式导航 导航到tabBar页面 导航到非tabBar页面 后退导航 编程式导航 后退导航 导航传参 声明式导航传参 编程式导航传参 在onload中接收导航参数 2.页面事件 下拉刷新 停止下拉刷新的效果 ​编辑 上拉触底 配置上拉触底距离 上拉触底的节…

js补环境系列之剖析:原型、原型对象、实例对象三者互相转化(不讲废话、全是干货)

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 思考下&#xff1a;js补环境中&#xff0c;什么场景会用到原型、原型对象、实例对象&#xff1f; 举…

【前端异步问题】通过Promise.all()解决异步取值问题

场景 有一个对象数组itemList,数组中的对象有的有属性attr,有的没有。没有属性a的对象需要通过调用接口获取并赋值给相应对象。 再将处理完后的对象数组&#xff0c;传入另一个接口中。 let itemList [{ id: 0, attr: 雨伞},{ id: 1, attr: null},{ id: 2, attr: 水杯},{ id: …

【用户投稿】使用 SeaTunnel 进行 HTTP 同步到 Doris 实战经验分享

需求背景 由于我司的项目中需要接入不同的数据源的数据到数仓中&#xff0c;在选择了众多的产品中最后选择了Apache SeaTunnel&#xff0c;对比参考 目前我这边使用的接口&#xff0c;暂时没有接口认证&#xff0c;如果需要接口认证的方式接入数据&#xff0c;再做讨论及测试…

谈谈大数据采集和常见问题

01 什么是数据采集 数据采集是大数据的基石&#xff0c;不论是现在的互联网公司&#xff0c;物联网公司或者传统的IT公司&#xff0c;每个业务流程环节都会产生大量的数据&#xff0c;同时用户操作的日志也会产生大量的数据&#xff0c;为了将这些结构化和非结构化的数据进行…

[C/C++入门][for]24、菲波那契数列

斐波那契数列是数学中的一个经典数列&#xff0c;以其独特的递归性质而闻名。 数列的前两项通常是0和1&#xff08;或者有时从1开始&#xff0c;当然这个不是强制要求&#xff09;&#xff0c;之后的每一项都是前两项的和。数列的前几项如下所示&#xff1a; 0, 1, 1, 2, 3, …