#json #reader-writer #json-parser #pure #dev-tools #serialization

json-rs

Lightweight JSON reader and writer, written in pure rust

2 releases

0.1.1 Jul 8, 2023
0.1.0 Jul 8, 2023

#1968 in Encoding

AGPL-3.0-only

36KB
881 lines

json-rs

A lightweight json parser and serializer.

This crate does not rely on any I/O actions, and purely works with &str objects.

Example:

my_file.json:

{
    "foo": "bar",
    "baz": [
        2,
        3.4,
        false
    ],
    "nested": {
        "inner_foo": "inner_bar",
        "has_answer": [
            40,
            41,
            42,
            43e1
        ]
    }
}

main.rs:

use std::fs;

fn main() -> json::Result<()> {
    let values: JSONValue = JSONValue::from_str(fs::read("my_file.json"))?;
    let bar: String = values["foo"].cast()?;
    assert_eq!(values["foo"], "bar");
    assert_eq!(values["baz"][2], false);
    assert_eq!(values["nested"]["has_answer"][2], 42);
}

Todo:

  • Documentation 💀
  • More Tests
  • Ensure JSON Compliance: string literal types, escape chars, etc.

No runtime deps