Jak filtrovat neplatné jsonlines pomocí jq
Při použití jsonlines dat s jq mohou neplatné řádky způsobit chyby parsování, např.
e.g
jq: parse error: Expected separator between values at line 61755, column 1954Pro odfiltrování neplatných řádků můžete použít následující příkaz:
filter_invalid_jsonlines.sh
jq -R 'fromjson?'To propustí platné JSON řádky a vrátí null pro neplatné. Poté můžete odfiltrovat null hodnoty pomocí select. Následný příkaz potřebuje správně zpracovat null hodnoty, ale neuvidí žádné neplatné řádky.
Příklad použití
filter_and_process_jsonlines.sh
cat data.json | jq -R 'fromjson?' | jq -c '{name: .node?.name?}'Podívejte se na podobné články podle kategorie:
JSON
Pokud vám tento článek pomohl, zvažte, zda mi nekoupíte kávu nebo nepřispějete přes PayPal na podporu výzkumu a publikování nových článků na TechOverflow