15 releases
0.4.1 | Sep 21, 2021 |
---|---|
0.3.0 | Nov 24, 2020 |
0.2.8 | Jun 30, 2020 |
0.2.6 | Mar 30, 2020 |
0.1.0 | Jul 30, 2018 |
#3 in #json-parser
902,378 downloads per month
Used in 289 crates
(127 directly)
40KB
956 lines
JSON5
A Rust JSON5 serializer and deserializer which speaks Serde.
API
Deserialize a JSON5 string with from_str
. Go the other way with to_string
.
The serializer is very basic at the moment, it just produces plain old JSON.
See the Serde documentation for details on implementing Serialize
and
Deserialize
. (Usually it's just a case of sprinkling in some derives.)
The Serde data model is mostly supported, with the exception of bytes and borrowed strings.
Example
Read some config into a struct.
use json5;
use serde_derive::Deserialize;
#[derive(Deserialize, Debug, PartialEq)]
struct Config {
message: String,
n: i32,
}
fn main() {
let config = "
{
// A traditional message.
message: 'hello world',
// A number for some reason.
n: 42,
}
";
assert_eq!(
json5::from_str(config),
Ok(Config {
message: "hello world".to_string(),
n: 42,
}),
);
}
Dependencies
~2.2–3MB
~63K SLoC