2 个不稳定版本
0.2.0 | 2023 年 11 月 24 日 |
---|---|
0.1.0 | 2023 年 11 月 23 日 |
8 在 #json-array
24KB
646 行
关于 jxcape
jxcape
是一个从命令行创建 JSON 值的工具。
字符串
要将值转换为 JSON 字符串,请使用 string
子命令
$ jxcape string "Hello, world!"
"Hello, world!"
它也可以从 stdin 获取输入
$ echo "Hello, world!" | jxcape string --from-stdin
"Hello, world!"
数组
要将值转换为 JSON 数组,请使用 array
子命令
$ jxcape array 1 2 3
["1","2","3"]
默认情况下,jxscape
将所有输入视为字符串。要将输入视为原生 JSON,请使用 --auto
标志
$ jxcape array --auto 1 2 3 foo
[1,2,3,"foo"]
无法解析为 JSON 的任何值都将被视为字符串。
它也可以从 stdin 获取输入
$ seq 3 | jxcape array --from-stdin
["1","2","3"]
如果您需要空数组,可以使用 --empty
标志
$ jxcape array --empty
[]
这主要是为了完整性。
对象
要将值转换为 JSON 对象,请使用 object
子命令
$ jxcape object foo=1 bar=2
{"foo":"1","bar":"2"}
默认情况下,jxscape
将所有输入视为字符串。要将输入视为原生 JSON,请使用 --auto
标志
$ jxcape object --auto foo=1 bar=2 baz=3
{"foo":1,"bar":2,"baz":3}
无法解析为 JSON 的任何值都将被视为字符串。
它也可以从 stdin 获取输入
$ env | jxcape object --from-stdin
{"TERM":"xterm-256color","SHELL":"/bin/bash",...} # truncated for brevity
您可以使用 --separator
标志指定自定义分隔符
$ jxcape object --separator=: foo:1 bar:2 baz:3
{"foo":"1","bar":"2","baz":"3"}
分隔符可以是多个字符
$ jxcape object --separator=:: foo::1 bar::2 baz::3
{"foo":"1","bar":"2","baz":"3"}
如果某个键被多次指定,则将使用最后一个出现的值
$ jxcape object foo=1 foo=2 foo=3
{"foo":"3"}
如果您需要空对象,则可以使用 --empty
标志
$ jxcape object --empty
{}
这主要是为了完整性。
美化打印
要美化打印 JSON 值,请在子命令之前使用 --pretty
标志
$ jxcape --pretty array 1 2 3
[
"1",
"2",
"3"
]
安装
从源码
$ git clone https://github.com/rhysparry/jxcape.git
$ cd jxcape
$ cargo install --path .
依赖项
~1.6–2.7MB
~51K SLoC