Cómo filtrar jsonlines inválidos usando jq
Al usar datos jsonlines con jq, las líneas inválidas pueden causar errores de análisis, p. ej.
e.g
jq: parse error: Expected separator between values at line 61755, column 1954Para filtrar las líneas inválidas, puedes usar el siguiente comando:
filter_invalid_jsonlines.sh
jq -R 'fromjson?'Esto dejará pasar las líneas JSON válidas y devolverá null para las inválidas. Luego puedes filtrar los valores null usando select. El comando posterior necesita manejar los valores null correctamente, pero no verá ninguna línea inválida.
Ejemplo de uso
filter_and_process_jsonlines.sh
cat data.json | jq -R 'fromjson?' | jq -c '{name: .node?.name?}'Echa un vistazo a artículos similares por categoría:
JSON
Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow