2 个版本
0.1.1 | 2022年12月4日 |
---|---|
0.1.0 | 2022年9月18日 |
#213 in #conversion
20KB
281 行
描述
这个工具 "traduit"(法语中为翻译)数据格式。它是在希望将 serde 带到命令行(serdi ^^)的愿望下制作的。但这并不是 serde 的全部内容,我没有与它们有任何关联,因此我不想进行域名抢注。
安装
首先安装 Rust 工具链,然后执行以下命令
cargo install tradaf
使用示例
美化(或压缩)某些数据格式以方便阅读(分别:紧凑和减少要保存/传输的数据量)
tradaf json json --pretty < simple.json
在数据格式之间进行直接转码
tradaf ron yaml < examples/standard.ron
将其转换为 JSON,这样我们就可以使用 jq
进行一些转换,然后再将其转码回另一种格式以供查看
tradaf RON json < examples/gameConfig.ron | jq .key_bindings | tradaf Json yaml
待办事项
- 实现所有 数据格式,或者至少那些公开了 serde 序列化器或反序列化器的格式。
- Bencode
- 反序列化
- 序列化
- BSON
- CBOR
- DBus(不确定是否工作,但可以编译…)
- DynamoDB
- Envy(仅反序列化)
- Envy store(仅反序列化)
- FlexBuffer
- 公开的
Serializer
和Deserializer
与 serde-transcode 不兼容。
- 公开的
- GVariant => 查看 DBus:同一软件包提供了两种
- HJSON
- JSON
- JSON5
- 反序列化
- 序列化
- https://github.com/Lucretiel/kaydle
- S-Expressions(lisp)
- Pickle
- 正确测试双向操作
- 查询字符串(URL)
- 反序列化
- 序列化
- MessagePack
- 反序列化
- 序列化
- RON
- TOML
- YAML
- …
- Bencode
- 为每个序列化器和每个反序列化器添加测试(至少一个)
- 检查软件包是否具有我们应该启用/禁用的功能
-
zvariant
默认包含异步运行时
-
- 查看我的每个数据格式的笔记,并在软件包上提交问题以指出问题/展示我的项目并寻求帮助
- 添加适当的错误处理(找一个导师解释正确的错误管理:结构体、枚举、…然后使用 anyway/this_error 如果需要)
依赖项
~11MB
~213K SLoC