Não tenho certeza de onde encontrei isso, mas já estou com isso .emacs
há um tempo:
(defun beautify-json ()
(interactive)
(let ((b (if mark-active (min (point) (mark)) (point-min)))
(e (if mark-active (max (point) (mark)) (point-max))))
(shell-command-on-region b e
"python -mjson.tool" (current-buffer) t)))
Basta executar M-x beautify-json
em um buffer e ele irá reformatá-lo.