FracturedJson
Role and Design of JSON (Comments, Scope, Philosophy)
- Debate over JSON’s lack of comments: some call the original reasoning (“would be abused for directives”) silly; others defend it via Hyrum’s Law—any extra feature will become a de facto API surface.
- Several note real‑world workarounds (
"comment","_comment_uuid"fields) and argue this is inevitable when people need to annotate configs. - Some say if you need comments, you should use a different format (JSONC, JSON5, or a dedicated config format) rather than overloading plain JSON.
- View that JSON was intentionally kept simple to avoid becoming “the next XML”, even at the cost of missing conveniences.
FracturedJson: Use Cases, Pros and Cons
- Many find the table‑like, width‑aware layout noticeably more readable than standard pretty‑print, especially for large or nested structures.
- Suggested uses: debugging API responses, game‑dev JSON, logs, occasional manual inspection where a full schema/UI doesn’t exist.
- Some dislike examples where only some elements expand, or where long horizontal lines require scrolling, but others prefer reduced vertical height for huge files.
- Multiple requests to integrate with jq, editors, IDEs, or as a browser/preview extension, often just for viewing rather than rewriting source.
- Concern that realignment harms
git diff, and that it shouldn’t be used as a primary human‑editable config syntax.
Implementations, Tooling, and Testing
- Current maintained implementations noted in C# and TypeScript/JavaScript, with a newer Python wrapper around the C# code and a fresh Rust port including a CLI.
- Some friction around needing a .NET runtime; Rust and other “CLI‑friendly” ports are seen as important for adoption.
- Discussion of reading from stdin and piping, with users wanting easy chaining with jq and shell tools.
- Several call for a language‑independent, data‑driven conformance suite so different implementations behave identically; debate around how far tests and mutation/fuzzing can “guarantee” equivalence.
JSON vs Other Formats (YAML, TOML, XML, Binary, Lax Supersets)
- TOML/YAML are proposed as better for human‑editable configs; others respond “just say Norway” and recount YAML pitfalls (implicit booleans, indentation fragility, legacy parsers).
- Mixed nostalgia for XML: it has comments and schemas, but is seen as verbose and harder to read.
- Some argue JSON is too restrictive as a human format; various extended or alternative formats are mentioned (JSON5, BONJSON, EDN, ASN.1, custom lax JSON variants).
- Others say for serious systems, use binary/schematized formats like Protobuf and treat JSON mainly as a debugging/human inspection layer.