VIM formatting JSON
Have you ever needed to format some gnarly JSON that is unreadable and/or too large to look through? It’s super easy to format it with vim
. We can use the popular jq
tool - link at the end of this blog post.
Simple Steps to format JSON in VIM
Here is an example with a file called hello.json
.
- Open a file
vim hello.json
- Open the file in VIM
vim hello.json
- We can format with the command
:%!jq . -
- Save the file
:wq
Explanation
All we need is the command :%!jq . -
. Let’s break this command down.
:
is to run a command%
will operatate on the entire file.!
will execute an external commandjq .
is the external command-
is the contents of the buffer
Note that we use %
. We could instead do a visual selection using '<,'>
, or select lines in the file. In the video we use the command jq "." -
, which is the same thing as jq . -
it’s just a little more simple to not type the extra quotes.
Below is a video in YouTube showing how it’s done.
Links
Here are some links to both vim
and jq
. Note, I use Neovim these days for a number of reasons, but any VIM will work.
Side Note
We can use VIM and any external tool to format other types of files. I hope to post soon on how to format XML using the xmllint
tool which can be done very easily by what is taught in this blog post.