Commit Graph
4 Commits
Author SHA1 Message Date
xrain ff1bd51f52 fix: isNoneValue 误判非 Option 值为 None(ignoreNull 时所有字段被跳过)
- 原实现 unwrapOptionValue(v).isNone() 把「非 Option」也返回 None → isNone()=true
- 改为直接检查 EnumTypeInfo.destruct 构造器名是否 None,非枚举返回 false
- 新增 None 字段测试(remark → null;ignoreNull=true 时省略 remark 保留其他)
2026-08-17 11:20:12 +08:00
xrain de875234e4 fix: 命名策略不剥除前导下划线(_name 原样输出 _name)
- applyNamingPolicy 不再去掉字段名前导 _,策略只影响字母大小写
- @JsonPropertyName 仍可覆盖(_alias → user_alias)
- 测试改为 _ 前缀字段并验证原样输出
2026-08-17 11:12:22 +08:00
xrain 172681f92c refactor: 取消 annotations 子目录,特性文件改名 JsonAnnotations 并入 json 包
- src/json/annotations/JsonAttributes.cj → src/json/JsonAnnotations.cj
- 包 simapi_serialization.json.annotations → simapi_serialization.json
- @JsonPropertyName / @JsonIgnore 现在与 JsonSerializer 同包,import simapi_serialization.json.* 即可
2026-08-17 11:04:25 +08:00
xrain 0bc7e213f9 refactor: 全部实现移入 json 子包,attributes 改名 annotations
- src/Json*.cj → src/json/(包 simapi_serialization.json,对应 .NET System.Text.Json)
- src/attributes → src/json/annotations/(包 simapi_serialization.json.annotations)
- 根包 simapi_serialization 保留为 cjpm 扫描锚点,public import 重导出 json + annotations
- 用法:import simapi_serialization.*(重导出)或 import simapi_serialization.json.* / .json.annotations.*
2026-08-17 11:03:01 +08:00