高性能 Jsonpath 框架,Snack3 3.2.90 发布
Snack3,一个高性能的 JsonPath 框架
借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。
- 强调文档树的操控和构建能力
- 高性能Json path查询(顶级的兼容性和性能)
- 顺带支持序列化、反序列化
- 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险)
<dependency> <groupId>org.noear</groupId> <artifactId>snack3</artifactId> <version>3.2.90</version> </dependency>
本次累计更新:
- 添加 特性 Feature.DisableClassNameRead
- 添加 特性 DisableCollectionDefaults
- 添加 ZonedDateTime 时间类型的处理
- 添加 OffsetDateTime 时间类型的处理
- 添加 时间解析格式
yyyy-MM-dd'T'HH🇲🇲ss+HH:mm
- 优化 recordable 识别,避免构造函数可能索引超界的问题
- 修复
$..[?(@.treePath)]
表达式的兼容问题 - 修复
C{final data:Map}
反序列化时 data 无数据的问题 - 修复 EnumWrap 构造时 getEnumConstants 可能为 null 的问题
- 修复
request1.result[*].relTickers[0].tickerId
表达式兼容问题
简单演示:
ONode o = ONode.loadStr(json); //将json String 转为 ONode ONode o = ONode.loadObj(user); //将java Object 转为 ONode //不确定返回数量的,者会返回array类型 //找到所有的187开头的手机号,改为186,最后输出修改后的json o.select("$..mobile[?(@ =~ /^187/)]").forEach(n->n.val("186")).toJson(); //找到data.list[1]下的的mobile字段,并转为long o.select("$.data.list[1].mobile").getLong(); //查找所有手机号,并转为List<String> List<String> list = o.select("$..mobile").toObject(List.class); //查询data.list下的所有mobile,并转为List<String> List<String> list = o.select("$.data.list[*].mobile").toObject(List.class); //找到187手机号的用户,并输出List<UserModel> List<UserModel> list = o.select("$.data.list[?(@.mobile =~ /^187/)]") .toObjectList(UserModel.class); //或 List<UserModel> list = o.select("$.data.list[?(@.mobile =~ /^187/)]") .toObjectList(UserModel.class);
项目地址:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Scala 2.13.13 发布,多范式编程语言
Scala 2.13.13 现已发布。这是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。此版本更新亮点如下: 语言 支持binary integer literals using0b,如 Java 中一样(#10656) 兼容性 TASTy 阅读器:支持 Scala 3.4(#10670) 支持在 JDK 21 上编译的某些 Java 库(#10675) 对于 JDK 22 支持,升级到 ASM 9.6(#10576) 其他改进 -Yreleasesupplements-release,允许访问其他 JVM 包(#10543) 即使在 Scala sources 中也要遵循java.lang.Deprecated注释(#10517) 即使不存在final关键字,也可以有效地优化 final 方法的 tail recursion(#10629) 添加-Xlint:pattern-shadow到可反引用的 lint 模式变量(#8806) 在混合编译中,允许 Java sources 引用MODULE$(#10644) 详情可查看更新说明:https://g...
- 下一篇
马斯克宣布 Grok-1.5,上下文长度至 128K
马斯克旗下的 AI 初创公司 xAI 宣布了其最新的生成式人工智能模型 Grok-1.5,构建在基于 JAX、Rust 和 Kubernetes 的自定义分布式训练框架之上,能够进行长上下文理解和高级推理。预计在未来几天内面向早期测试人员和 𝕏 平台上的现有 Grok 用户提供。 相较前身 Grok-1,Grok-1.5 似乎有了明显的升级。根据 xAI 的说法,Grok-1.5 最显着的改进之一是其在编码和数学相关任务中的性能。在测试中,Grok-1.5 在 MATH 基准上取得了 50.6% 的成绩,比 Grok-1 的得分高出一倍有余;在 GSM8K 基准上取得了 90% 的成绩。 此外,它在评估代码生成和解决问题能力的 HumanEval 基准测试中得分为 74.1%,比 Grok-1 高出十多个百分点;优于除 Claude 3 Opus 之外的所有模型。 在评估 AI 模型跨不同任务的语言理解能力的 MMLU 基准测试中,Grok-1.5 的得分为 81.3%,大幅领先 Grok-1 的 73%。并且超过了最近推出的 Mistral Large(81.2%),但落后于 Ge...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19