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?}'Consultez les articles similaires par catégorie :
JSON
Si cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow