Json 如何正确使用jq--seq?
我用这样一个非常小的文件测试了jq-seqJson 如何正确使用jq--seq?,json,jq,Json,Jq,我用这样一个非常小的文件测试了jq-seq jq --seq ".title, .id" test.json test.json是这样的: {"title": 3, "id":4} {"title": 3, "id":4} {"title": 3, "id":4} 我犯了这个错误。jq只输出这个错误 ignoring parse error: Unfinished abandoned text at EOF at line 4, column 0 如何正确使用jq-seq?-seq格式要求
jq --seq ".title, .id" test.json
test.json是这样的:
{"title": 3, "id":4}
{"title": 3, "id":4}
{"title": 3, "id":4}
我犯了这个错误。jq只输出这个错误
ignoring parse error: Unfinished abandoned text at EOF at line 4, column 0
如何正确使用jq-seq?-seq格式要求每个值前面都有ASCII RS字符dec 30/hex 1E
使用application/json-seq MIME类型方案来分离jq输入和输出中的json文本。这意味着在输出的每个值之前打印ASCII RS记录分隔符字符,在每个输出之后打印ASCII LF换行符。无法解析的输入JSON文本将被忽略,但会发出警告,在下一个RS之前丢弃所有后续输入。此模式还解析jq的输出,而不使用-seq选项
如果您将这些字符添加到文件中,它就会工作
txt = <<~JSON
\x1e{"title": 1, "id":2}
\x1e{"title": 3, "id":4}
\x1e{"title": 5, "id":6}
JSON
File.write('test.json', txt)
但看起来你根本不需要这个选项?获取不带RS字符的文件并将其馈送到jq.title、.id test.json会产生相同的结果
% jq --seq ".title, .id" test.json
1
2
3
4
5
6