24 Star 286 Fork 66

noear / snack3

2024-03-22 16:58
15535 noear admin 1683858335 西东
  • 新增 特性 DisableCollectionDefaults
  • 添加 ZonedDateTime 时间类型的处理
  • 添加 OffsetDateTime 时间类型的处理
  • 添加 时间解析格式 "yyyy-MM-dd'T'HH:mm:ss+HH:mm"
  • 修复 request1.result[*].relTickers[0].tickerId 表达式兼容问题
最后提交信息为: Update UPDATE_LOG.md
2024-01-07 09:16
15535 noear admin 1683858335 西东
  • 修复 根值为 string 时,没有做编码处理(偷懒了)
  • 修复 $..[?(@.treePath)] 表达式的兼容问题
  • 修复 C{final data:Map} 反序列化时 data 无数据的问题
  • 修复 EnumWrap 构造时 getEnumConstants 可能为 null 的问题
  • 优化 枚举序列化处理
  • 优化 recordable 识别,避免构造函数可能索引超界的问题
  • 增加 特性:Feature.DisableClassNameRead
最后提交信息为: 3.2.85
2023-08-17 19:03
15535 noear admin 1683858335 西东
  • 优化结构型枚举自定义字段序列化处理
  • 增加 jsonpath 对 keys(), length(), size() 函数的支持
  • 字段访问权限,移到执行时再请求
  • 反序列化时大写的数字,当为 '' 时则为 null
最后提交信息为: 3.2.76
2023-07-25 09:07
15535 noear admin 1683858335 西东
  • 增加 结构型枚举自定义字段序列化支持
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; //格式化时间输出
}
最后提交信息为: Update README.md
2023-05-19 08:07
15535 noear admin 1683858335 西东
  • 修复 bindTo(obj) 可能会返回 null 的问题
  • 优化 $.[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')] 兼容性
  • 优化 $[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')].fields[*] 兼容性
最后提交信息为: 3.2.72
2023-05-13 09:27
15535 noear admin 1683858335 西东
  • 修复 $..*[?(@.id)] 可能出现 value 项
  • 优化 $.*.*.* 的兼容性
最后提交信息为: Update pom.xml
2023-05-10 21:55
15535 noear admin 1683858335 西东
  • 增加 Charset 反序化支持
  • 增加类似 java record 类的参数与字段去重处理
最后提交信息为: 3.2.67
2023-04-10 14:22
15535 noear admin 1683858335 西东
  • 增加 File 类型反序化支持
  • 增加泛型多层嵌套支持: List<List>、Map<String,List>
  • 增加 NodeAttr 注解对时区的配置支持
  • 修复 "{names:null}" 转为 A{names:List} 时, 会变成 A{names:List=[null]} 的问题
  • 修复非静态成员类序列化时会死循环的问题
  • 添加特性(ParseIntegerUseLong),解析时可让所有整型为长整型
最后提交信息为: 3.2.65
2023-03-09 22:56
15535 noear admin 1683858335 西东
  • 添加漂亮格式化特性支持
2023-03-04 09:17
15535 noear admin 1683858335 西东
  • 增加 selectOrNew() 接口;//只支持简单索引查询时orNew,不支持条件表达式和函数

示例:

@Test
public  void case1(){
    ONode oNode = new ONode();
    oNode.selectOrNew("$.orders[0].price").val(500);
    System.out.println(oNode.toJson());
    //{"orders":[{"price":500}]}

    assert "{\"orders\":[{\"price\":500}]}".equals(oNode.toJson());


    oNode.selectOrNew("$.orders[10].price").val(600);
    System.out.println(oNode.toJson());
    //{"orders":[{"price":500},null,null,null,null,null,null,null,null,null,{"price":600}]}

    oNode.select("$.orders").forEach(n->n.asObject());
    System.out.println(oNode.toJson());
    //{"orders":[{"price":500},{},{},{},{},{},{},{},{},{},{"price":600}]}
}
最后提交信息为: 3.2.57: 增加 selectOrNew() 接口
2023-02-22 13:21
15535 noear admin 1683858335 西东
  • 增加指定 ClassLoader 支持
  • 增加 ClassLoader 自动指定能力
  • 增加 @NodeAttr 对 LocalTime,LocalDate,LocalDateTime 有效
最后提交信息为: 3.2.56
2023-02-20 14:16
15535 noear admin 1683858335 西东
  • 增加 kotlin data 类支持
最后提交信息为: 3.2.54
2023-02-04 11:49
15535 noear admin 1683858335 西东
  • 增加 getOrNew(int index, ONodeType newNodeType) 接口
  • 增加 getOrNew(String key, ONodeType newNodeType) 接口
最后提交信息为: 3.2.53
2023-01-18 00:02
15535 noear admin 1683858335 西东
  • 增加 SerializeNulls 对 Map/nullValue 的控制(之前默认认输出)
  • 增加 SerializeMapNullValues 特性
  • 增加 BooleanNullAsFalse 特性
  • 增加 NumberNullAsZero 特性
  • 增加 ArrayNullAsEmpty 特性
  • 默认 features_def,不再包括 StringNullAsEmpty(旧的作用,也就只有 OValue::getString 上)
最后提交信息为: 3.2.52
2022-12-13 12:17
15535 noear admin 1683858335 西东
  • ONode 在分析 date str 时,增加 trim() 处理
  • 增加新特性 StringDoubleToDecimal (可保持小数不变位数)
  • 修复反序列化时空字符转类的异常情况
  • rename 时,相同名字则不处理
  • 增加 string 转 int 的支持(之前只转 long)
  • 增加 任何数字可 转 date 的支持
最后提交信息为: Update 文章Snack3接口字典.md
2022-10-13 10:12
15535 noear admin 1683858335 西东
  • 当类型为 虚拟类 时,支持将 string 自动转换为 object
  • 修复实现接口的枚举无法被识别为枚举的问题
  • 添加 UUID 输出时,自动转为字符串格式
  • 修复反序列化时,只读保合不能被赋值的问题
  • 增加特性 StringJsonToNode 对 ONode.loadObj() 的支持
最后提交信息为: 3.2.44
2022-09-20 11:42
15535 noear admin 1683858335 西东
  • 增加 ONode::isUndefined() 接口
  • 增加 ONode::exists(jpath)接口
  • 调整 当有 key 时,其 null 值统一为 valueType;用于区别 isUndefined
  • 修复 jsonpath 出现 ._ 时,会出错的问题
最后提交信息为: 3.2.38
2022-09-02 21:48
15535 noear admin 1683858335 西东
  • 增加 val 可自动转为集合的一部分(如果接收的是集合字段)
  • 修复 值为""时,转为 LocalDateTime 会出错的问题
最后提交信息为: 3.2.35
2022-08-11 11:16
15535 noear admin 1683858335 西东
  • 增加 name 值的格式控制
  • 调整 \ 的解析方式
  • 修复 name 特定情况下会出现空隔的问题
最后提交信息为: Update 文章_Snack3之Jsonpath使用.md
2022-07-06 10:49
15535 noear admin 1683858335 西东
  • 增加 jsonpath 内的选项传导
  • 增加 LongAdder,DoubleAdder 反序列化支持
最后提交信息为: 3.2.31
Java
1
https://gitee.com/noear/snack3.git
git@gitee.com:noear/snack3.git
noear
snack3
snack3

搜索帮助