高性能 Jsonpath 框架,Snack3 3.2.72 发布
Snack3,一个高性能的 JsonPath 框架
借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。
- 强调文档树的操控和构建能力
- 高性能Json path查询(顶级的兼容性和性能)
- 顺带支持序列化、反序列化
- 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险)
<dependency> <groupId>org.noear</groupId> <artifactId>snack3</artifactId> <version>3.2.72</version> </dependency>
本次累计更新:
- 优化
$.[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')]
兼容性 - 优化
$[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')].fields[*]
兼容性 - 优化
$.*.*.*
的兼容性 - 修复
$..*[?(@.id)]
可能出现 value 项 - 修复 bindTo(obj) 可能会返回 null 的问题
- 增加 java record 的参数与字段去重处理
- 增加 Charset 反序化支持
简单演示:
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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
粉色 X 袭过,价值链接一切:ZadigX 线上发布会回顾
Zadig 开源交流:加入Zadig 技术交流群🔥(Zadig on Github;Zadig on Gitee) ZadigX 企业咨询:提交您的具体需求 Zadig 开源 2 年以来,KodeRover 始终追求“让今天的工程师,能像伏尔泰笔下古巴比伦的哲人 Zadig 一样,追求真理,绽放智慧”。在开源 Zadig 国内用户企业超过 2000 家之际,越来越多的企业希望 Zadig 产品能覆盖从需求到发布的数字研发全链路,Zadig 企业版及专业服务 “ZadigX” 应运而生。 4 月 27 日,ZadigX 通过线上直播的形式,正式对外发布。 直播当天,我们将办公室改装成了临时直播间,在 KodeRover、开源中国、云原生社区、掘金开发者社区 4 大平台微信直播号同时直播。 极氪副总裁、路特斯运维总监、3 位阿里云计算产品负责人、GitLab 副总裁、Gitee 总架构师,携手 6 位云原生创业公司的创始人 CEO 线上参与,探讨如何冲破传统认知,摸索国产软件公司铸造“伟大”基因的路线。 ZadigX 的发布主题“价值驱动一切,链接最酷玩家”,一经提出便吸引了广大开发...
- 下一篇
🎉CatchAdmin v3.1.3 发布,小版本更新优化
介绍 CatchAdmin是一款基于Laravel和Element Plus二次开发而成后台管理系统。Laravel社区也有许多非常优秀的后台管理系统,例如Nova, 官方出品,当然是收费的,免费的有基于Livewire的Filament,还有不得不说的Laravel Admin。CatchAdmin还是采用传统的前后端分离策略,Laravel框架仅仅作为Api输出。将管理系统模块之间的耦合降到了最低限度。每个模块之间都有独立的控制器,路由,模型,数据表。在开发上尽可能将模块之间的影响降到最低,降低了开发上的难度。基于CatchAdmin可以开发CMS,CRM,OA等 等系统。也封装了很多实用的工具,提升开发体验。 V3.1.3 日志 代码生成新增 upload 和 textarea 组件 新增系统模块 修复用户邮箱唯一性校验 修复切换用户后后台出现动态路由丢失导致 404 优化了上传组件 修复类型错误导致打包失败 优化后台界面 等等其他.... 视频 catchadmin 模块创建 catchadmin 之快速开发 功能 用户管理 后台用户管理 部门管理 配置公司的部门结构,支持树...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16