🔥 Snack3 3.2.80 发布,高性能 Jsonpath 框架
Snack3,一个高性能的 JsonPath 框架
借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。
- 强调文档树的操控和构建能力
- 高性能Json path查询(顶级的兼容性和性能)
- 顺带支持序列化、反序列化
- 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险)
<dependency> <groupId>org.noear</groupId> <artifactId>snack3</artifactId> <version>3.2.80</version> </dependency>
本次累计更新:
- 增加 结构型枚举自定义字段序列化支持
- 增加 jsonpath 对 keys(), length(), size() 函数的支持
- 调整 字段访问权限,移到执行时再请求
- 调整 反序列化时大写的数字类型,当为 '' 时则为 null
- 优化 结构型枚举自定义字段序列化处理
- 修复 根值为 string 时,没有做编码处理的问题
简单演示:
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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RXThinkCMF 敏捷开发框架 Laravel10+AntdVue 版本 v1.0.0 发布
v1.0.0 更新内容:1、搭建基于 Laravel10 的项目架构;2、新增角色、菜单、节点等权限架构体系;3、新增基础用户、角色、菜单等基础模块;4、新增字典、配置等基础数据模块;5、新增广告、友链、站点等业务模块;6、新增网站配置等基础数据维护模块; 一款 PHP 语言基于 Laravel10、Vue3、AntDesign、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,目前框架已集成了完整的RBAC权限架构和常规基础模块,前端Vue端支持多主题切换,可以根据自己喜欢的风格选择想一个的主题,实现了个性化呈现的需求;为了敏捷快速开发,提升研发效率,框架内置了一键CRUD代码生成器,自定义了模块生成模板,包括后端PHP文件模块和前端Vue端个性化模板,可以根据已建好的表结构(字段注释需规范)快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、低代码敏捷开发框架。 内置模...
- 下一篇
终极 PK !第十二届“麒麟杯”决赛入围名单公布
第十二届“麒麟杯”全国开源应用软件开发大赛在中国软件行业协会、开放原子开源基金会、中国计算机学会开源发展委员会、中国开源软件推进联盟的指导下,由openKylin开源社区、麒麟软件有限公司、国防科技大学、信创海河实验室联合主办。 大赛自报名开启以来,受到了全国各地高校学子的广泛关注,为了让学生深入了解并加入到开源应用软件的开发中,大赛组委会在报名阶段先后于全国不同高校举办11场高校沙龙,帮助大家进一步了解大赛;并推出1v1辅导机制,给每个赛队都配备一个辅导群,进行一对一沟通辅导。 截止2023年9月17日,第十二届“麒麟杯”软件开发大赛初赛评审工作正式结束,经过为期两天的专家评选,最终有20支队伍从来自全国的60+高校、345组参赛队伍中脱颖而出,晋级决赛,现对入围名单及作品进行公示。 如有疑问,请及时与组委会联系。 当前,初赛阶段已结束,恭喜以上20组队伍进入决赛【2023.9.19-2023.10.19】,请相关同学继续完善参赛作品,决赛期间专家们也会针对作品进行进一步的指导,辅助同学们完善作品。 希望入围决赛的同学们能够再接再厉,精益求精,完善作品的同时也可以收获不一样的自己...
相关文章
文章评论
共有0条评论来说两句吧...