Releases: noear/snack3
Releases · noear/snack3
Snack v3.2.122
- 添加 Feature.UseSetter 无字段的属性支持
- 添加 flat 扁平化处理支持
- 添加 三种时间格式解析
- 添加 oNode.parent(), oNode.parents(depth)
- 添加 jsonpath first() 和 last() 函数
- 添加
oNode.usePaths()
使用路径(把当前作为根级,深度生成每个子节点的路径)。一般只在根级生成一次 - 添加
oNode.path()
获取路径属性(可能为 null;比如临时集合) - 添加
oNode.pathList()
获取节点路径列表(如果是临时集合,会提取多个路径) - 调整 json path。数组为空时,min,max,sum,avg 为 null;count 为 0。保持与 sql 一样
- 优化在重组时的
[n]
兼容性 - 优化 统一初始化异常的描述
- 优化 0E-10 表达式兼容性(没有小数点的科学计数法)
- 修复 当节点不为 obj 时,使用
getNew(key)
会异常的问题
Snack v3.2.111
- 添加 jdk23 编译兼容
- 添加 Duration 反序列化支持
- 添加 uri 反序列化支持
- 添加 对OffsetTime时间类型的处理
- 优化 val(obj) 支持数组形态
- 优化 反序列化时传入的类型优先
- 优化 solon.mvc kotlin data class 带默认值的反序列化支持
- 修复 反序列化时传入的类型优先时,异常类失效的问题
- 修复 WriteArrayClassName 还原失效的问题
Snack v3.2.100
- 添加 UseOnlySetter, UseGetter, UseOnlyGetter 特性
- 添加 ThData::clear 接口,用于清理 ThreadLocal 缓存
- 添加 Collections.EMPTY_MAP 等空集合的赋值支持
- 添加 Properties "type['a']" 风格的支持
- 添加 Properties "type[a]" 风格的支持
- 添加 Properties "type[]" 风格的支持
- 添加 Properties 增强模式(NameValues)转换
- 添加 ONodeAttr::asString
- 加强 部分格式验证
- 优化 实例化异常提示
Snack v3.2.90
- 新增 特性 DisableCollectionDefaults
- 添加 ZonedDateTime 时间类型的处理
- 添加 OffsetDateTime 时间类型的处理
- 添加 时间解析格式 "yyyy-MM-dd'T'HH:mm:ss+HH:mm"
- 修复
request1.result[*].relTickers[0].tickerId
表达式兼容问题
Snack 3.2.85
- 修复 根值为 string 时,没有做编码处理(偷懒了)
- 修复
$..[?(@.treePath)]
表达式的兼容问题 - 修复 C{final data:Map} 反序列化时 data 无数据的问题
- 修复 EnumWrap 构造时 getEnumConstants 可能为 null 的问题
- 优化 枚举序列化处理
- 优化 recordable 识别,避免构造函数可能索引超界的问题
- 增加 特性:Feature.DisableClassNameRead
Snack 3.2.76
- 优化结构型枚举自定义字段序列化处理
- 增加 jsonpath 对 keys(), length(), size() 函数的支持
- 字段访问权限,移到执行时再请求
- 反序列化时大写的数字,当为 '' 时则为 null
Snack 3.2.73
- 增加 结构型枚举自定义字段序列化支持
public enum BookType {
NOVEL(2,"小说"),
CLASSICS(3,"名著"),
;
//现在加了支持这个
@ONodeAttr public final int code; //使用 code 做为序列化的字段
public final String des;
BookType(int code, String des){this.code=code; this.des=des;}
}
//原来只支持这个
public class Book {
String name;
BookType type;
@ONodeAttr(serialize=false) String author; //不序列化
@ONodeAttr(format="yyyy-MM-dd") Date releaseTime; //格式化时间输出
}
Snack 3.2.72
- 修复 bindTo(obj) 可能会返回 null 的问题
- 优化
$.[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')]
兼容性 - 优化
$[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')].fields[*]
兼容性
Snack 3.2.69
- 修复
$..*[?(@.id)]
可能出现 value 项 - 优化
$.*.*.*
的兼容性
Snack 3.2.67
- 增加 Charset 反序化支持
- 增加类似 java record 类的参数与字段去重处理