More helpful message when passing a JSON-SEQ file without the `--seq` flag
Describe the bug
When attempting to parse a JSON-SEQ file, without the --seq flag, jq prints parse error: Invalid numeric literal at line 1, column 4
To Reproduce The JSON-SEQ format uses an ASCII Record Separator (RS) character at the start of each entry, this is being mistakenly overlooked (by some argument). Example json.
{"qlog_version":"0.3","qlog_format":"JSON-SEQ","title":"quiche-client qlog","description":"quiche-client qlog id=1928a4431b958983545fe79a00fcf7a670f39d8e","trace":{"vantage_point":{"type":"client"},"title":"quiche-client qlog","description":"quiche-client qlog id=1928a4431b958983545fe79a00fcf7a670f39d8e","configuration":{"time_offset":0.0}}}
{
"time": 0.0,
"name": "transport:parameters_set",
"data": {
"owner": "local",
"tls_cipher": "None",
"disable_active_migration": true,
"max_idle_timeout": 30000,
"max_udp_payload_size": 1350,
"ack_delay_exponent": 3,
"max_ack_delay": 25,
"active_connection_id_limit": 2,
"initial_max_data": 10000000,
"initial_max_stream_data_bidi_local": 1000000,
"initial_max_stream_data_bidi_remote": 1000000,
"initial_max_stream_data_uni": 1000000,
"initial_max_streams_bidi": 100,
"initial_max_streams_uni": 100
}
}
Expected behavior
It would be nice if jq could relize the record separator character is there, and print a helpful message to retry with --seq
The RFC sort of hints at this use case
since RS may not appear in JSON texts in any other form, RS unambiguously delimits the start of any element in the sequence. RS is sufficient to unambiguously delimit all top-level JSON value types other than numbers.
Environment (please complete the following information):
- Ubuntu
- jq-1.6
Hi, yeah not great error message. I think this might be related to https://github.com/jqlang/jq/issues/501? the parser currently return this error on lots of syntax issues.
Thanks for the pointer @wader . #501 was recently resolved via a PR but I suspect it won't address this specific issue. I'll see if I can draw inspiration from it and make up another PR that implements my initial suggestion.
@LPardue 👍
See https://github.com/jqlang/jq/pull/3191