fjson
A Rust library for parsing and formatting JSON with C-style comments and trailing commas
Usage
Given the following input:
// This is a JSON value with comments and trailing commas
{
/* The project name is fjson */
"project": "fjson",
"language": "Rust",
"license": [
"MIT",
],
// This project is public.
"public": true,
}
Format to JSONC
Format to pretty JSONC, intended for human viewing:
let output = to_jsonc.unwrap;
println!;
Prints:
// This is a JSON value with comments and trailing commas
{
/* The project name is fjson */
"project": "fjson",
"language": "Rust",
"license": ["MIT"],
// This project is public.
"public": true
}
Format to valid, pretty JSON
Format to pretty JSON, intended for human viewing:
let output = to_json?;
println!;
Prints:
{
"project": "fjson",
"language": "Rust",
"license": ["MIT"],
"public": true
}
Format to valid, compact JSON
Format to compact JSON, intended for computer consumption:
let output = to_json_compact?;
println!;
Prints:
Deserialize with Serde
To parse JSON with C-style comments and trailing commas, but deserialize via serde, this can be accomplished with the following:
use Deserialize;
let output = to_json_compact?;
let project: Project = from_str?;
println!;