HeadlinesBriefing favicon HeadlinesBriefing.com

JSON as Config: A Design Mistake

DEV Community •
×

The article argues that using JSON as a configuration format is an architectural mistake, not a stylistic choice. While JSON excels as a transport format—predictable, deterministic, and parseable—it falters when humans write, read, or version it. Its rigidity, lack of comments, and strict syntax make it hostile to human authorship.

The piece explains why the industry keeps adopting JSON for config: it feels natural when the system consumes it, but that logic ignores human cognitive load. Alternatives like YAML, TypeScript, and HCL were built for readability, allow comments, and let developers think in domain terms before serialization of configuration files.

Moving forward, the author urges a clear separation: humans write expressive, typed schemas; machines validate and emit JSON only for transport. This pattern preserves developer experience, reduces merge conflicts, and keeps configuration files maintainable. Teams should adopt tooling that enforces this workflow and avoid forcing JSON into every codebase globally.