A Rust library for parsing and formatting JSON with C-style comments and trailing commas
Given the following input:
```jsonc // 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 pretty JSONC, intended for human viewing:
rust
let output = fjson::to_jsonc(input).unwrap();
println!("{}", output);
Prints:
```jsonc // 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 pretty JSON, intended for human viewing:
rust
let output = fjson::to_json(input)?;
println!("{}", output);
Prints:
jsonc
{
"project": "fjson",
"language": "Rust",
"license": ["MIT"],
"public": true
}
Format to compact JSON, intended for computer consumption:
rust
let output = fjson::to_json_compact(input)?;
println!("{}", output);
Prints:
json
{"project":"fjson","language":"Rust","license":["MIT"],"public":true}
To parse JSON with C-style comments and trailing commas, but deserialize via serde, this can be accomplished with the following:
```rust use serde::Deserialize;
struct Project {
project: String,
language: String,
license: Vec
let output = fjson::tojsoncompact(input)?; let project: Project = serdejson::fromstr(&output)?; println!("{:#?}", project); ```