Як відфільтрувати невірні jsonlines за допомогою jq
Під час роботи з даними jsonlines у jq невірні рядки можуть спричиняти помилки парсингу, наприклад:
e.g
jq: parse error: Expected separator between values at line 61755, column 1954Щоб відфільтрувати невірні рядки, ви можете скористатися наступною командою:
filter_invalid_jsonlines.sh
jq -R 'fromjson?'Це пропустить коректні JSON-рядки і поверне null для невірних. Потім ви можете відфільтрувати значення null за допомогою select. Наступна команда має коректно обробляти значення null, але вона не побачить жодних невірних рядків.
Приклад використання
filter_and_process_jsonlines.sh
cat data.json | jq -R 'fromjson?' | jq -c '{name: .node?.name?}'Дивіться схожі статті за категоріями:
JSON
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow