高性能 Jsonpath 框架,Snack3 3.2.65 发布
Snack3,一个高性能的 JsonPath 框架
借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。
- 强调文档树的操控和构建能力
- 高性能Json path查询(顶级的兼容性和性能)
- 顺带支持序列化、反序列化
- 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险)
<dependency> <groupId>org.noear</groupId> <artifactId>snack3</artifactId> <version>3.2.65</version> </dependency>
本次累计更新:
- 增加 File 类型反序化支持
- 增加泛型多层嵌套支持: List<List>、Map<String,List>
- 增加 NodeAttr 注解对时区的配置支持
- 修复 "{names:null}" 转为 A{names:List} 时, 会变成 A{names:List=[null]} 的问题
- 修复非静态成员类序列化时会死循环的问题
- 添加特性(ParseIntegerUseLong),解析时可让所有整型为长整型
- 添加漂亮格式化特性支持
简单演示:
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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
墨干编辑器 V1.1.2:提供 macOS arm 和 Ubuntu 安装包
马上下载 :https://mogan.app/guide/Install.html 重要变更 社区:官网上线 https://mogan.app ,参加由中科院软件所举办的开源之夏2023 界面:图标由GNU TeXmacs开发者之一Massimiliano Gubinelli提供 字体:将GNU Linux平台的默认字体切换为Noto CJK,不再需要手动安装Fandol字体 排版:在中文和英文之间插入很小的间隙 开发:构建系统由CMake迁移到了xmake 发布:提供macOS M1/M2的安装包 发布:提供Ubuntu 20.04, Ubuntu 22.04安装包 发布:官网提供实验性的WASM版供体验
- 下一篇
【官宣】聚合短信工具 sms-aggregation 加入 dromara 社区
sms-aggregation 聚合短信发送工具 作者介绍 名称:wind dromara 开源组织成员,dromara/sms_aggregation 作者 java高级开发工程师,拥有丰富实战经验 个人空间:https://gitee.com/MR-wind 官方文档:https://wind.kim/ 关于 SMS Aggregation SMS Aggregation 是一款聚合短信发送工具,统一了各个厂商的发送功能和发送方法,省去学习不同短信厂商的差异化的时间,极简单的使用,可以让你在三分钟内完成短信发送功能的编写,并且额外添加了许多常用的工具和方法,让简单的事情回归简单的本质 使用 引入maven依赖 配置yml文件 注入统一接口 调用对应方法 完成短信发送 支持厂商 各个厂商正在不断的适配中,最新的支持请查看官网 阿里云国内短信 腾讯云国内短信 华为云国内短信 合一短信 云片短信 配置文件 以下以阿里云短信为例 sms: # 短信服务商 supplier: alibaba alibaba: #阿里云的accessKey accessKeyId: 您的a...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果