功能
ToonConverter 通过 15 个 SDK 提供 TOON 与 21+ 种数据格式之间的双向转换,无任何外部依赖。
JSON
无损,基础转换管道
XML
命名元素 = 键, <item> = 数组, xsi:nil = null
CSV (RFC 4180)
多分隔符:, ; \t | — 带引号字段、嵌入式换行
EDI 定宽
以 TOON 格式定义字段布局,可配置填充/行尾
TSV
制表符分隔,委托给带制表符锁定的 CSV 引擎
YAML
自研零依赖解析器(块子集)
JSONC
去除 // + /* */ 注释,然后走 JSON 管道
JSON5
自定义分词器(无引号键、十六进制、尾随逗号)
SOAP
带命名空间剥离的 XML 包装器,SOAP 1.1/1.2
GeoJSON
RFC 7946 验证,坐标折叠为 JSON 字符串
KML
带兄弟分组的自研 XML 解析器
GPX
XML 数组包装器,纬度/经度自动解析为数字
LOG
可配置正则表达式,基于模板的输出
Syslog
RFC 5424 + RFC 3164 自动检测,PRI 解析
NPY
NumPy .npy 二进制格式 (NEP-1 v1.0)
FITS
天文数据格式 (FITS 4.0 主 HDU)
MAT v5
MATLAB 二进制文件格式(10 种数值类)
DTA v118
Stata 14 二进制格式(5 种数值类型)
RData
R RDS V2/V3 XDR 二进制序列化
SHP
ESRI Shapefile(5 种 2D 形状类型)
直接序列化
跳过 JSON 中间步骤 — 将原生对象直接序列化为 TOON。
| Language | Method | Description | Speed |
|---|---|---|---|
| TypeScript | toToon() | 通过 normalizeValue() 直接 | 最优 |
| Python | to_toon() | 支持 dataclass 的直接 | 最优 |
| Go | ToTOON() | 带 struct 标签的反射 | 最优 |
| Rust | to_toon() | Serde 零开销 | 最优 |
| Java | toToonDirect() | 直接反射(快约 40%) | 快约 40% |
| C# | ToToonDirect() | 直接反射(快约 47%) | 快约 47% |
配置选项
编码器选项
indent_size 缩进大小(默认:2) strict 严格模式(默认:true) key_folding "off" 或 "safe"(默认:"off") default_delimiter 逗号 / 制表符 / 竖线(默认:逗号) 解码器选项
strict 严格模式(默认:true) expand_paths "off" 或 "safe"(默认:"off") indent_size 缩进大小(默认:2)