With jq, we can easily convert between JSON and JSON lines.

JSON -> JSON Lines

$ printf '[{"A":"B"},{"C":"D"}]' | jq -c .[]

Note: -c (--compact-output) option is important to put each JSON object on a single line.

JSON Lines -> JSON

$ printf '{"A":"B"}\n{"C":"D"}' | jq -s
    "A": "B"
    "C": "D"

-s (--slurp) option wraps the whole input into a large array.

Add -c (--compact-output) option to make the whole array on a single line.

$ printf '{"A":"B"}\n{"C":"D"}' | jq -cs

Deal with JSON lines mixed with plain text

If you're dealing with programs which output JSON lines along with plain text, you can extract only the JSON lines with:

cat mixed.jsonl | jq -Rc 'fromjson?'

-R (--raw-input) parses each line of text as a string;
fromjson converts the string back into JSON object;
? tries to do the conversion and ignores those don't convert;
-c (--compact-output) puts each JSON object on a single line.