What JSON Lines is
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.
Log pipelines, machine learning datasets and anything that appends records or reads them in a stream.
What Protobuf Schema is
A proto3 message definition with numbered fields.
gRPC services and anything using Protocol Buffers.
What changes when you convert JSON Lines to Protobuf Schema
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.
Field numbers are assigned in column order starting at one. Types are inferred from the values.
What carries over from JSON Lines to Protobuf Schema
One property of the JSON Lines has no home in Protocol Buffers, and it is worth knowing which before you convert.
An empty cell and a missing one are the same thing in Protocol Buffers, so a null and an empty string in the JSON Lines both come out blank and can no longer be told apart.
Both formats record types, so numbers, booleans and nulls survive as themselves rather than as text.