从命令行验证 JSON 文件的语法(CLI 健全性检查)

从命令行验证 JSON 文件的语法(CLI 健全性检查)

我可以在 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

相关内容