# musli-json [github](https://github.com/udoprog/musli) [crates.io](https://crates.io/crates/musli-json) [docs.rs](https://docs.rs/musli-json) [build status](https://github.com/udoprog/musli/actions?query=branch%3Amain) JSON support for [Müsli] suitable for network and usually browser communication. JSON encoding is fully upgrade stable: * ✔ Can tolerate missing fields if they are annotated with `#[musli(default)]`. * ✔ Can skip over unknown fields. ```rust use musli::{Encode, Decode}; #[derive(Debug, PartialEq, Encode, Decode)] struct Version1 { name: String, } #[derive(Debug, PartialEq, Encode, Decode)] struct Version2 { name: String, #[musli(default)] age: Option, } let version2 = musli_json::to_vec(&Version2 { name: String::from("Aristotle"), age: Some(62), })?; let version1: Version1 = musli_json::from_slice(version2.as_slice())?; assert_eq!(version1, Version1 { name: String::from("Aristotle"), }); ``` [Müsli]: https://github.com/udoprog/musli