Я использую jq для анализа некоторых из моих журналов, но некоторые строки журнала не могут быть проанализированы по различным причинам. Есть ли способ, чтобы jq игнорировал эти строки? Кажется, я не могу найти решение. Я попытался использовать аргумент -seq, рекомендованный некоторыми людьми, но --seq игнорирует все строки в моем файле.Игнорировать Unparseable JSON с jq
ответ
Предполагая, что каждая запись в журнале ровно одна строка, вы можете использовать опцию -R
или --raw-input
сказать JQ, чтобы оставить линии неанализируемые, после чего вы можете предварять fromjson? |
к фильтру, чтобы JQ попытаться разобрать каждую строку в формате JSON и выбросить те, что ошибка.
Есть несколько Q & Как на FAQ page дело с темой «недействительных JSON», но видеть, в частности, Q:
Есть ли способ иметь JQ продолжать идти после того, как он попадает ошибку во входном файле?
В частности, это показывает, как использовать --seq.
Однако, из редких деталей, которые вы указали (SO recommends, приведен минимальный пример), казалось бы, было бы лучше просто использовать inputs
. Идея состоит в том, чтобы обрабатывать один объект JSON за раз, используя «try/catch», например.
def handle: inputs | [., "length is \(length)"] ;
def process: try handle catch ("Failed", process) ;
process
Не забудьте использовать опцию -n при вызове jq.
См. Также Processing not-quite-valid JSON.
- 1. переназначения с JSON JQ
- 2. денормализации JSON с JQ
- 3. извлечение json с помощью jq
- 4. Разбор JSON-формата с jq
- 5. Изменение JSON с помощью jq
- 6. JSON JQ if without else
- 7. json array в поток json с jq
- 8. Использование JQ "нормализовать" JSON
- 9. ParseDate Unparseable
- 10. SimpleDateFormat - Unparseable?
- 11. JQ - запрос альтернативы JSON структура
- 12. JQ фильтр по датам JSON
- 13. Json файл редактирования через JQ
- 14. JSON JQ Найти значение замены
- 15. regex-подобный поиск в json с jq
- 16. update json с jq через скрипт оболочки
- 17. Исключение нежелательных имен из JSON с JQ
- 18. CSV в формате JSON с помощью JQ
- 19. Петля через объект JSON с помощью JQ
- 20. вопросы JQ с комментариями по Json файла
- 21. JSON файл разбор с помощью JQ
- 22. изменения JSON с помощью JQ в Баш
- 23. Выбор нескольких json-ключей с помощью jq
- 24. Сгладить вложенный JSON с помощью jq
- 25. Изменение вложенного JSON условно с помощью JQ
- 26. JQ разбор входа JSon с переменными
- 27. с помощью JQ для перебора данных JSon
- 28. Parsing JSON с Bash JQ Issue
- 29. Изменить вложенный JSON с помощью jq
- 30. Обработка большого потока JSON с помощью jq
Вопрос не в отдельных строках, которые невозможно разобрать. Речь идет об игнорировании или обходе строк с проблемами. Представьте, что у вас есть линия, которая только «123». – Brandon