Я попытался достать некоторые блоки проверки допустимости файла JSON. Я столкнулся jq
. Но после выполнения'jq . file.json
'Я получил отформатированный вывод JSON. Та команда не сделала дал мне проверку JSON в моем файле.
Я хочу знать, как я могу проверить синтаксис или проверить формат JSON в моем файле в Ubuntu. Советуйте мне.
Попробуйте jsonlint
:
sudo apt install jsonlint
основной синтаксис использования
jsonlint YOUR-FILE.JSON
, Вы находите его руководство путем ввода man jsonlint
или посещения его страница справочника онлайн:
выборка:
NAME
jsonlint - A JSON syntax validator and formatter tool
SYNOPSIS
jsonlint [-v][-s|-S][-f|-F][-ecodec]inputfile.json...
[...]
OPTIONS
The return status will be 0 if the file is legal JSON, or non-zero
otherwise. Use -v to see the warning details.
[...]
-v, --verbose
Show details of lint checking
-s, --strict
Be strict in what is considered legal JSON (the default)
-S, --nonstrict
Be loose in what is considered legal JSON
-f, --format
Reformat the JSON (if legal) to stdout
[...]
, Таким образом, Вы видите, допустим ли Ваш JSON путем проверки кода возврата jsonlint
. Вы видите его путем выполнения echo $?
право впоследствии (0=OK, 1=invalid), или путем оценки его с помощью &&
, ||
или if
.
jq
выложит ошибку явно, и можно также проверить статус выхода, который является 1
для ошибок анализа, и очевидно 0
для успехов.
, Например:
% jq '.' <<<'{"foo": "spam", "bar": 1}'
{
"bar": 1,
"foo": "spam"
}
% echo $?
0
Теперь, давайте заменим :
=
после "bar"
- создание входа недопустимое json
:
% jq '.' <<<'{"foo": "spam", "bar"= 1}'
parse error: Invalid numeric literal at line 1, column 23
% echo $?
1
Можно сделать этот модуль python json.tool
использования
echo '{"name": "dedunu", "country": "LKA"}' | python -m json.tool
, Если у Вас есть файл, можно использовать его как ниже.
python -m json.tool file.json
, Но проблема с этой командой то, что Вы не получите деталь о проблеме в файле JSON. Я нашел ответ от этого ссылка .
Я пробовал jsonlint
, но это не работает.
кк . may-file.json
отлично работает!
Надеюсь, этот отзыв будет полезен.