The JSON Lines format is a text format of newline-delimited JSON. In particular:
\n. As \r is silently ignored, \r\n is also supported.\n, but is not required to be one.!!! example “JSON Text example”
```json
{"name": "Gilbert", "wins": [["straight", "7♣"], ["one pair", "10♥"]]}
{"name": "Alexa", "wins": [["two pair", "4♠"], ["two pair", "9♠"]]}
{"name": "May", "wins": []}
{"name": "Deloise", "wins": [["three of a kind", "5♣"]]}
```
JSON Lines input with more than one value is treated as invalid JSON by the parse or accept functions. To process it line by line, functions like std::getline can be used:
!!! example “Example: Parse JSON Text input line by line”
The example below demonstrates how JSON Lines can be processed. ```cpp --8<-- "examples/json_lines.cpp" ``` Output: ```json --8<-- "examples/json_lines.output" ```
!!! warning “Note”
Using [`operator>>`](../../api/operator_gtgt.md) like
```cpp
json j;
while (input >> j)
{
std::cout << j << std::endl;
}
```
with a JSON Lines input does not work, because the parser will try to parse one value after the last one.
This is different from parsing a stream of *concatenated* (non-newline-delimited) JSON values, for which
`operator>>` does work -- see its [notes](../../api/operator_gtgt.md#notes) for details.