6 releases
new 0.0.6 | Apr 25, 2025 |
---|---|
0.0.5 | Apr 23, 2025 |
#1314 in Parser implementations
587 downloads per month
22KB
485 lines
sje
Fast JSON deserialisation and serialisation schema based framework.
Example
Make sure the derive
feature is enabled.
sje = { version = "0.0.4", features = ["derive"]}
#[derive(Decoder)]
#[sje(object)]
pub struct Trade {
#[sje(rename = "e", len = 5)]
event_type: String,
#[sje(rename = "E", len = 13)]
event_time: u64,
#[sje(rename = "s")]
symbol: String,
#[sje(rename = "t", len = 10)]
trade_id: u64,
#[sje(rename = "p")]
price: String,
#[sje(rename = "q")]
quantity: String,
#[sje(rename = "b", len = 11)]
buyer_order_id: u64,
#[sje(rename = "a", len = 11)]
seller_order_id: u64,
#[sje(rename = "T", len = 13)]
transaction_time: u64,
#[sje(rename = "m")]
is_buyer_maker: bool,
}
let trade = TradeDecoder::decode(br#"{"e":"trade","E":1705085312569,"s":"BTCUSDT","t":3370034463,"p":"43520.00000000","q":"0.00022000","b":24269765071,"a":24269767699,"T":1705085312568,"m":true,"M":true}"#).unwrap();
assert_eq!("trade", trade.event_type_as_str());
assert_eq!(1705085312569, trade.event_time());
Dependencies
~0.3–1MB
~19K SLoC