#json #object #json-object #array #parser

应用 rjo

一个用于创建 JSON 对象的小工具

9 个版本

0.3.0 2021 年 1 月 23 日
0.2.3 2019 年 12 月 29 日
0.2.2 2019 年 6 月 16 日
0.2.1 2019 年 4 月 15 日
0.1.6 2019 年 4 月 6 日

#2712命令行实用工具

每月 26 次下载

MIT 许可证

16KB
299

rjo

rjo Build Status Build status codecov

一个用于创建 JSON 对象的小工具。

此包的起源为 jpmens/jo,并受到了 Golang 版本的启发,skanehira/gjo

安装

仅支持从源代码安装。您可能需要 Rust 1.30 或更高版本。然后您可以使用 cargo 来构建所有内容。

$ cargo install rjo

或者,克隆并指定本地目录

$ git clone https://github.com/dskkato/rjo.git
$ cd rjo
$ cargo install --path .

用法

创建对象

$ rjo -p name=jo n=17 parser=false
{
    "name": "jo",
    "n": 17,
    "parser": false
}

或者,数组

$ seq 1 10 | rjo -a
[1,2,3,4,5,6,7,8,9,10]

$ rjo -p -a Rust 0 false
[
    "Rust",
    0,
    false
]

更复杂的示例

$ rjo -p name=JP object=$(rjo fruit=Orange point=$(rjo x=10 y=20) number=17) sunday=false
{
    "name": "JP",
    "object": {
        "fruit": "Orange",
        "point": {
            "x": 10,
            "y": 20
        },
        "number": 17
    },
    "sunday": false
}

stdin 读取的多行

目前,jo 假设每行一个 x=y 对,从 stdin 读取时,多个 x=y 对生成以下结果

echo -e "a=b c=d \n e=f g=h" | jo
{"a":"b c=d "," e":"f g=h"}

rjo 则逐行翻译 stdin 输入

echo -e "a=b c=d \n e=f g=h" | rjo
{"a":"b","c":"d"}
{"e":"f","g":"h"}

另请参阅

许可证

MIT

依赖项

~6–14MB
~152K SLoC