NDJSON (Newline-Delimited JSON)
NDJSON (Newline-Delimited JSON) est un format de texte où chaque ligne est un objet JSON valide. Il est optimisé pour le streaming, le traitement en journal et le traitement ligne par ligne de grands ensembles de données.
Type MIME
application/x-ndjson
Type
Texte
Compression
Sans perte
Avantages
- + Streamable — process one record at a time without loading the entire file
- + Appendable — add new records by appending lines
- + Works with Unix tools (grep, head, tail, wc)
- + Standard for Elasticsearch bulk, BigQuery, and data pipelines
Inconvénients
- − No standard for the overall file (no top-level schema)
- − Cannot represent a single JSON object spanning multiple lines
- − Less compact than binary formats for large datasets
Quand utiliser .NDJSON
Utilisez NDJSON pour les flux de journaux, les exports de données volumineuses, les datasets d'apprentissage automatique et les scénarios de streaming. Préférez le JSON standard pour les API et les fichiers de configuration.
Détails techniques
Chaque ligne est un objet JSON valide terminé par \n. Pas de séparateurs entre les enregistrements au-delà des sauts de ligne. Peut être traité ligne par ligne sans charger le fichier entier en mémoire. Le type MIME est application/x-ndjson.
Historique
NDJSON a émergé organiquement de la communauté des développeurs en tant que convention pour le streaming de données JSON. Également connu sous le nom de JSON Lines (JSONL). Il est devenu standard dans les architectures de journalisation (ELK stack), les exports BigQuery et les datasets d'apprentissage automatique.