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, können Sie 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. Sie können 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?}'Check out similar posts by category:
JSON
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow