Skip to content
A Rust JSON5 serializer and deserializer which speaks Serde.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Generate errors when unable to parse int or float instead of panic Feb 8, 2019
.gitignore playing with pest (simple incomplete json parser) Jun 23, 2018
Cargo.toml 0.2.4 Feb 14, 2019
LICENCE 2018 idioms Dec 31, 2018


A Rust JSON5 serializer and deserializer which speaks Serde.


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.


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,

        Ok(Config {
            message: "hello world".to_string(),
            n: 42,
You can’t perform that action at this time.