Skip to main content

Lint your JSON files!

Project description

json-linter

Lint your JSON files!

Features

  • Check if keys are sorted alphabetically...
  • Check if your keys are either in camelCase, snake_case or kebab-case...
  • ...and automatically fix (some) of these issues!

Install

You need to have Python 3.10+ installed.

$ pip install json-linter

Usage

# Lint a single file...
$ json-linter my-file.json

# Lint multiple files...
$ json-linter a.json b.json

# Lint all files in a directory
$ json-linter files

# Lint all files in a directory recursively
$ json-linter files --recursive

# Lint all files in a directory recursively with .config and .cfg ending
$ json-linter files -r --extensions cfg config

# Fix files (will overwrite the file with a fixed version and then lint)
$ json-linter my-file.json --fix

# Overwrite configuration values
$ json-linter my-file.json --config-set naming_style=KEBAB_CASE indent=2

# Return results as json
$ json-linter my-file.json --json

Use as a package

from pathlib import Path

from json_linter import lint_file


results = lint_file(Path("./my-file.json"))

for result in results:
    if not result.was_successful:
        print(result.path, "failed!")

License

GNU General Public License v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

json_linter-1.3.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file json_linter-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: json_linter-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for json_linter-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5af94acdc3e960e1b6963595065bbc2c97d1823900cdeb5562de6c34ec46eeb1
MD5 cc082ea4042af055e37e7bc7fa7fde65
BLAKE2b-256 6b98b937164dc576f35921a42ee6acc2579c05d480b17b2ea0346abaf5eec122

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page