Aller au contenu
uencoder

NDJSON

NDJSON (JSON délimité par les sauts de ligne) place un objet JSON indépendant par ligne, adapté au traitement en flux de grands jeux de données.

Objectif

Fournir un format JSON traitable en flux sans charger un tableau entier en mémoire.

Mécanisme

Chaque ligne est une valeur JSON complète séparée par des sauts de ligne, sans enveloppe de tableau externe. Un analyseur lit ligne par ligne, permettant le streaming. Courant pour les journaux, les exports de bases de données et les flux d'API.

Cas d’usage

  • API bulk d'Elasticsearch
  • Export et import de bases de données
  • Traitement de flux de journaux
  • Format intermédiaire pour les pipelines de big data

Exemples

  • entrée
    {"a":1}
    {"a":2}
    Output
    Two JSON objects, one per line

    Newline-delimited

Erreurs courantes

A string containing a literal newline breaks the line format
Newlines inside JSON strings are already escaped as \n

Termes associés

Outils associés

References