2 个稳定版本

2.0.2 2022年2月3日
2.0.1 2021年1月9日

#1841 in 网络编程

Download history 468/week @ 2024-03-24 600/week @ 2024-03-31 591/week @ 2024-04-07 393/week @ 2024-04-14 246/week @ 2024-04-21 267/week @ 2024-04-28 181/week @ 2024-05-05 316/week @ 2024-05-12 213/week @ 2024-05-19 215/week @ 2024-05-26 195/week @ 2024-06-02 489/week @ 2024-06-09 632/week @ 2024-06-16 235/week @ 2024-06-23 304/week @ 2024-06-30 215/week @ 2024-07-07

1,399 每月下载量
12 个crates中 使用 (3 个直接使用)

CC0 许可证

45KB
876 行代码

Status

Rust 版本兼容性

此库与 Rust 1.29.0 或更高版本兼容。然而,由于某些依赖项在次要/修补版本中提高了 Rust 版本,希望使用较旧编译器版本的用户需要做一点工作。特别是,

为了与较旧的 rustc 版本兼容,请使用以下命令将依赖项拉回到不中断的版本

cargo update --package 'serde_json' --precise '1.0.39'
cargo update --package 'serde_derive' --precise '1.0.98'

Rust JSONRPC 客户端

对发送 JSONRPC 2.0 请求和接收响应的基本支持。

要发送一个请求,该请求应检索上述结构,请考虑以下示例代码

extern crate jsonrpc;
extern crate serde;
#[macro_use] extern crate serde_derive;

#[derive(Deserialize)]
struct MyStruct {
    elem1: bool,
    elem2: String,
    elem3: Vec<usize>
}

fn main() {
    // The two Nones are for user/pass for authentication
    let rtt = jsonrpc::simple_rtt::Tripper::new();
    let client = jsonrpc::client::Client::with_rtt(rtt, "example.org".to_owned(), None, None);
    match client.do_rpc::<MyStruct>(&request) {
        Ok(mystruct) => // Ok!
        Err(e) => // Not so much.
    }
}

依赖项

~3–10MB
~91K SLoC