cid 923c1c6847a0afe4f495a5888eb144bed7bae5f2bc6581c068560677c6fdb034 · original · open access · via openalex
Title: jsonvet Authors: Simon van Lierde Venue: Zenodo (CERN European Organization for Nuclear Research) Year: 2026 Canonical: doi:10.5281/zenodo.23461825 URL: https://doi.org/10.5281/zenodo.23461825 Collector: openalex OA: true ABSTRACT A linter and formatter for JSON, I-JSON, JSONC, JWCC (HuJSON), JSON5 and JSON Lines. It reports syntax errors, duplicate keys, each dialect's rules and JSON Schema errors, all with exact positions. The schema comes from --schema, a config file or a file's own $schema. On a terminal, each problem shows as a code frame with a help: link to the rule's documentation, and --color controls the color. With --fix it rewrites files to remove a byte order mark or trailing commas, add a missing final newline and make every line ending match the first one, and --unsafe-fixes also drops duplicate keys. jsonvet fmt formats files and keeps their comments, with settings from .editorconfig or the config file. It also writes SARIF for GitHub code scanning and JSON, with a published JSON Schema, for scripts and editors. Messages come from a catalog, so a translation is one file. jsonvet never fetches anything from the network. A playground runs it in the browser as WebAssembly. It ships as a pre-commit hook, PyPI wheels, Rust crates, release binaries and a GitHub Action. The repository includes a conformance matrix of JSON5, JSONC, JWCC and JSON Lines parsers.