Expand description

serde_canonical_json

This crate provides a Canonical JSON formatter for serde_json.

Usage

use serde::Serialize;
use serde_json::Serializer;
use serde_canonical_json::CanonicalFormatter;
 
// CanonicalFormatter will ensure our keys are in lexical order
#[derive(Serialize)]
struct Data
{
    c: isize,
    b: bool,
    a: String,
}
 
let data = Data { c: 120, b: false, a: "Hello!".to_owned() };
 
let mut ser = Serializer::with_formatter(Vec::new(), CanonicalFormatter::new());
 
data.serialize(&mut ser).unwrap();
 
let json = String::from_utf8(ser.into_inner()).unwrap();
 
assert_eq!(json, r#"{"a":"Hello!","b":false,"c":120}"#);

Structs