Comment filtrer les jsonlines invalides avec jq
Lors de l’utilisation de données jsonlines avec jq, les lignes invalides peuvent causer des erreurs d’analyse, par ex.
e.g
jq: parse error: Expected separator between values at line 61755, column 1954Pour filtrer les lignes invalides, vous pouvez utiliser la commande suivante :
filter_invalid_jsonlines.sh
jq -R 'fromjson?'Ceci laissera passer les lignes JSON valides et retournera null pour les invalides. Vous pouvez ensuite filtrer les valeurs null en utilisant select. La commande suivante doit gérer correctement les valeurs null, mais elle ne verra aucune ligne invalide.
Exemple d’utilisation
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