Wie man ungültige jsonlines mit jq filtert
Bei der Verwendung von jsonlines-Daten mit jq können ungültige Zeilen Parsing-Fehler verursachen, z.B.
e.g
jq: parse error: Expected separator between values at line 61755, column 1954Um ungültige Zeilen herauszufiltern, kannst du den folgenden Befehl verwenden:
filter_invalid_jsonlines.sh
jq -R 'fromjson?'Dies leitet gültige JSON-Zeilen weiter und gibt null für ungültige zurück. Du kannst dann die null-Werte mit select herausfiltern. Der nachfolgende Befehl muss null-Werte korrekt behandeln, wird aber keine ungültigen Zeilen sehen.
Beispielverwendung
filter_and_process_jsonlines.sh
cat data.json | jq -R 'fromjson?' | jq -c '{name: .node?.name?}'Ähnliche Beiträge nach Kategorie:
JSON
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen