yojson-rs: JSON library for Rust

crates.io docs.rs Build Status source badge license badge

This library parses JSON data (yojson format) into a nested Rust tree data structure.

Yojson values

A value in Yojson is represented with the Value enum in this crate:

rust pub enum Value { Null, Bool(bool), Integer(i64), Float(f64), String(String), Assoc(Assoc), Array(Array), Tuple(Vec<Value>), Variant(Variant), }

The Yojson format is an extension of the JSON format. See "Yojson format document" for more information.

Parsing JSON

Parse JSON data.

rust use yojson_rs; fn main () { let json = r#" { x : 123, y : { "y1" : "abc\ndef\u0021", "y2" : [null, 123.45, (12, "y3")] }, z : NaN } "#; assert!(yojson_rs::parser::parse(json).is_ok()); }

Convert to a JSON string.

A data structure can be converted to a JSON string by to_string.

rust use yojson_rs; fn main() { let json_str = r#" { x : 123, y : { "y1" : "abc\ndef\u0021", "y2" : [null, 123.45, (12, "y3")] }, z : NaN } "#; let json = yojson_rs::parser::parse(json_str).unwrap(); println!("{}", yojson_rs::to_string(json)); }


(c) 2021 Naoki Kaneko (a.k.a. "puripuri2100")