#messagepack #convert-json #command-line #command-line-tool #command-line-interface #mpk

app msgpack-cli

一个在 JSON 和 MessagePack 之间进行转换的命令行工具

8 个版本

0.2.2 2024 年 3 月 13 日
0.2.1 2023 年 4 月 14 日
0.1.4 2023 年 1 月 8 日

#216命令行工具

Download history 32/week @ 2024-04-01

每月 241 次下载

Apache-2.0

27KB
468

MessagePack CLI

这是一个简单的 CLI,用于在 MessagePack 和 JSON 之间进行转换。有关安装说明,请跳转到 安装

$ # Basic usage: convert a file either direction
$ mpk in.json -o out.msgpack
$ mpk out.msgpack
{"name":"messagepack","age":20,"source":"github"}

$ # Pretty formatting
$ mpk out.msgpack --pretty
{
  "name": "messagepack",
  "age": 20,
  "source": "github"
}

$ # Use stdin input and stdout output. You need to specify the destination type with
$ # `--to-msgpack` or `--to-json` (`-m` or `-j`)
$ cat in.json | mpk --to-msgpack | xxd
00000000: 83a4 6e61 6d65 ab6d 6573 7361 6765 7061  ..name.messagepa
00000010: 636b a361 6765 14a6 736f 7572 6365 a667  ck.age..source.g
00000020: 6974 6875 62                             ithub

$ # Use a hex string as input or output
$ mpk --hex -i "82 a7 63 6f 6d 70 61 63 74 c3 a6 73 63 68 65 6d 61 00" --to-json
{"compact":true,"schema":0}
$ mpk --hex -i '{"compact":true,"schema":0}' --to-msgpack
82a7636f6d70616374c3a6736368656d6100

$ # And with pretty print:
$ mpk in.json --hex --pretty
83a4 6e61 6d65 ab6d 6573 7361 6765 7061
636b a361 6765 14a6 736f 7572 6365 a667
6974 6875 62

安装

最简单的方法是访问 版本 页面并下载版本。如果您使用 Debian 或 Ubuntu,使用预构建的 .deb 软件包最简单;只需下载并使用 dpkg -i mpk-download-path.deb 进行安装。如果需要,dpkg -r mpk 将会卸载。

对于其他系统,下载正确的目标并解压存档。然后,您可以直接使用二进制文件,或者使用 make install 将其添加到您的系统路径中(包括手册页和自动完成脚本)。make uninstall 可以撤销此操作。

或者,您可以通过 Cargo 使用 cargo install msgpack-cli 进行安装,或者使用 cargo build --release 自行构建源代码。

用法

请参阅上面的用法示例。命令行选项如下

Usage: mpk [OPTIONS] [INPUT_FILE]

Arguments:
  [INPUT_FILE]  Specify the input file to read from. If not given, stdin will be used

Options:
  -o, --output <OUTPUT_FILE>  Specify the output file to write. If not specified, stdout will be used
  -i, --input <INPUT>         Specify input via text. (can't use with 'INPUT_FILE')
  -j, --to-json               Convert from MessagePack to JSON. (can't use with '--to-json')
  -m, --to-msgpack            Convert from JSON to MessagePack. (can't use with '--to-msgpack')
      --hex                   Use messagepack with hexadecimal strings instead of binary
  -p, --pretty                Enable pretty output (formatted JSON, spacing for MessagePack when
                              used with `--hex`)
  -v, --verbose               Turn verbose mode on
  -h, --help                  Print help information (use `--help` for more detail)
  -V, --version               Print version information

依赖项

~4–13MB
~165K SLoC