JSON Lines is one complete JSON object per line, with no enclosing array and no commas between records. The file is not valid JSON as a whole, and that is the point.
Who uses it
Log pipelines, machine learning datasets and anything that appends records or reads them in a stream.
Reading JSON Lines
Each line is parsed on its own, so a corrupt record does not take the file with it. Keys are unioned across lines in first-seen order, so a record missing a field leaves that cell empty rather than shifting the columns.
Writing JSON Lines
Every row becomes one line. You can append to the file forever without rewriting it, and a reader can process it a line at a time without holding the whole thing in memory.