#json-toml #query-string #yaml #toml #csv #json #input-file

app recast

将一种序列化格式转换为另一种格式

7 个版本

0.1.6 2023年2月1日
0.1.5 2022年12月31日

#805文件系统

每月下载量 27

MIT 许可证

13KB
211 代码行

Recast

将一种序列化格式转换为另一种格式。支持的序列化格式包括

  • JSON (application/json)
  • TOML (application/toml)
  • Yaml (text/x-yaml)
  • 查询字符串
  • CSV (text/csv)
  • XML (text/xml)

安装

包管理器 命令
Cargo cargoinstall recast

发布页面包含预编译版本和 shell 完成文件

用法

Transforms one serialization format into another

Usage: recast [OPTIONS] [FILE]

Arguments:
  [FILE]  Input from file

Options:
  -f, --from <FORMAT>  Input format [default: json] [possible values: json, toml, yaml, query, csv, xml]
  -t, --to <FORMAT>    Output format [default: json] [possible values: json, toml, yaml, query, csv, xml]
  -o, --out <FILE>     Output to file
  -h, --help           Print help information (use `--help` for more detail)
  -V, --version        Print version information

示例

jq

利用 jq 强大的过滤器处理其他序列化格式

$ recast -f toml Cargo.lock \
  | jq '.package | map({name: .name, version: .version}) | sort_by(.name)' \
  | recast -t csv \
  | head -n 5
name,version
addr2line,0.19.0
adler,1.0.2
autocfg,1.1.0
backtrace,0.3.67

语法高亮

recast 不提供语法高亮,但您可以利用其他 cli 工具,如 bat 来实现此目的

recast -f toml Cargo.toml | bat --language json

依赖

~12MB
~202K SLoC