ошибка разбора: неверный числовой литерал в строке 2, столбец 0 - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь прочитать для большой структуры данных JSON, и я получаю сообщение:

Ошибка разбора: неверный числовой литерал в строке 2, столбец 0

Команда, которую я использую, является следующей:

n_rules=$(echo rulebase_list | jq '.total')

, и файл имеет на первом уровне иерархии переменную, которая

"total" : 126

Знаете ли вы, почему у меня возникают проблемы?с этим?Я предполагаю, что проблема в том, что 126 - это числовое значение, но что я могу сделать?

1 Ответ

0 голосов
/ 13 ноября 2018

Тщательно сверяйте свой сценарий с тем, который вы опубликовали в вопросе.Если они совпадают, тогда ответ очень прост.

В строке, которую вы передаете jq, нет "total" : 126, потому что вы передаете ей вывод echo rulebase_list, то есть rulebase_list.

Что вы, вероятно, хотели, чтобы отправить jq содержимое файла rulebase_list и инструмент для этого cat:

n_rules=$(cat rulebase_list | jq '.total')

В качестве альтернативы (и быстрее) является перенаправлениеввод jq из файла:

n_rules=$(jq '.total' < rulebase_list)

Или указать имя входного файла в качестве последнего аргумента в командной строке jq:

n_rules=$(jq '.total' rulebase_list)

Подробнее оjq: https://stedolan.github.io/jq/manual/

...