JSON Valdiator в Ubuntu 16.04

Я попытался достать некоторые блоки проверки допустимости файла JSON. Я столкнулся jq. Но после выполнения'jq . file.json'Я получил отформатированный вывод JSON. Та команда не сделала дал мне проверку JSON в моем файле.
Я хочу знать, как я могу проверить синтаксис или проверить формат JSON в моем файле в Ubuntu. Советуйте мне.

10
задан 27 January 2017 в 03:06

4 ответа

Попробуйте 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.

6
ответ дан 23 November 2019 в 04:33

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
2
ответ дан 23 November 2019 в 04:33

Можно сделать этот модуль python json.tool использования

echo '{"name": "dedunu", "country": "LKA"}' | python -m json.tool

, Если у Вас есть файл, можно использовать его как ниже.

python -m json.tool file.json

, Но проблема с этой командой то, что Вы не получите деталь о проблеме в файле JSON. Я нашел ответ от этого ссылка .

2
ответ дан 23 November 2019 в 04:33

Я пробовал jsonlint, но это не работает.

кк . may-file.json отлично работает!

Надеюсь, этот отзыв будет полезен.

3
ответ дан 13 June 2020 в 10:07

Другие вопросы по тегам:

Похожие вопросы: