我可以在 Ubuntu Linux 上运行什么最简单的命令来验证 JSON 文件的健全性?
我有一个很长的 JSON 文件,我刚刚用 编辑了它vim
。我想确保我的更改没有引入任何语法错误。
我知道我可以为此编写一个 python 脚本,但我更喜欢内置的、更简单的脚本。
是否有一些 bash 单行程序可以针对文件运行,以告诉我 JSON 文件是否(以及在哪里)存在语法问题?
答案1
您可以使用jq
并将 stdout 发送到 null
sudo apt-get install jq
jq . /path/to/yourfile.json 1> /dev/null
示例执行
以下是一些示例运行
无错误
如果 json 文件中没有错误,则不会有输出,退出代码为 0
user@host:~$ jq . updates/v1/meta.json 1> /dev/null
user@host:~$ echo $?
0
user@host:~$
错误
如果 json 文件中有错误,则输出将准确告诉您哪一行和字符,并且退出代码将非零
user@host:~$ jq . updates/v1/meta.json 1> /dev/null
parse error: Expected another array element at line 15, column 8
user@host:~$ echo $?
4
user@host:~$
答案2
sudo apt install jsonlint
然后做jsonlint-php {file}
手册页:
OPTIONS
-q, --quiet
Cause jsonlint to be quiet when no errors are found
-h, --help
Show this message