JSON (JavaScript Object Notation) is a subset of JavaScript useful as a format for transferring data from program to program, much like XML.
Read all about it at json.org!
You can decode and encode JSON from Emacs Lisp using json.el. It is part of GNU Emacs since 23.1 (2008).
Some highlighting support for editing json files is provided by json-mode.
If you have python or jsonlint installed, Flycheck can report errors in json-mode, just do:
(add-hook 'json-mode-hook #'flycheck-mode)
(jsonlint can give schema-based validation, but the python-based validator is handy too for simply catching missing commas etc.)
https://github.com/gongo/json-reformat mentions that Emacs 24.4+ has built-in json-pretty-print
and json-pretty-print-buffer
functions.
As https://irreal.org/blog/?p=354 wrote, you can also simply
C-u M-| python -m json.tool
to reformat a buffer containing JSON.