您现在的位置是:首页 > 文章详情

Snack3 3.2 发布,轻量的 Json+Jsonpath 框架

日期:2022-01-08点击:508

Snack3 是一个轻量的 JSON + Jsonpath 框架。

借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。

  • 强调文档树的操控和构建能力
  • 做为中间媒体,方便不同格式互转
  • 高性能Json path查询(兼容性和性能很赞)
  • 支持序列化、反序列化
  • 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险)
 <dependency> <groupId>org.noear</groupId> <artifactId>snack3</artifactId> <version>3.2.7</version> </dependency> 

本次累计更新:

  • 增加自定义编码与解码支持
 public class DemoTest { public void test(UserDto user) { Options options = Options.def(); options.addEncoder(Date.class, (data, node)->{ node.val().setNumber(data.getTimes()); }); ONode oNode = ONode.loadObj(user, options); } } 
  • 增加 @ONodeAttr 注解,取代旧的 @NodeName
 public class UserModel { public int id; @ONodeAttr(serialize = false) public String name; @ONodeAttr(deserialize = false) public String note; @ONodeAttr(format = "yyyyMMdd") public Date date; } 
  • 增加更复杂的泛型传导
 @lombok.Data public class Data<X> { private List<X> content; private X obj; private int pageNum; private int pageSize; private int totalElements; private int pages; } @lombok.Data public class House { private String sn; private String dver_type; private String data_status; private String created_by; private String updated_by; private String updated_date; } @lombok.Data public class Result<T> { private int code; private Data<T> data; } Result<House> result = ONode.deserialize(json, new Result<House>() {}.getClass()); 
  • 增加对成员类的反序列化支持
 public class Server { public static class One{ public int id; public String name; } } Server.One one = ONode.deserialize(json, Server.One.class); 
  • 增加接口 ONode::getRawString()
  • 增加接口 ONode::getRawNumber()
  • 增加接口 ONode::getRawBoolean()
  • 增加接口 ONode::getRawDate()
  • 增加接口 Options::getFeatures()
  • 增加接口 ONode::options(ops->...);
  • 调整接口 ONode::get(key) ,不再自动为文档树添加节点;如有需要改用 ONode::getOrNew(key)
  • 等等

 

原文链接:https://www.oschina.net/news/177541
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章