【发布时间】:2018-01-16 10:57:26
【问题描述】:
有没有办法在 Linux 中以完整的JSONL 文件深度将JSONL 转换为JSON?我发现了一些基于jq 的方法,但它们不适用于JSONL 文件的全部深度
【问题讨论】:
-
你能说得具体一点吗? “完整的 JSONL 文件深度”是什么意思?
有没有办法在 Linux 中以完整的JSONL 文件深度将JSONL 转换为JSON?我发现了一些基于jq 的方法,但它们不适用于JSONL 文件的全部深度
【问题讨论】:
这样的东西有用吗?
#!/bin/sh
echo "[" >$1.json
perl -pe 's/$/,/' <$1 >>$1.json
echo "]" >>$1.json
【讨论】:
我很困惑你想做什么。但是当涉及到 jq 时,通常我会一行一行地处理事情,每一行都是一个原子 JSON 对象。类似的东西
cat file | jq some-options 'some commands' > output.txt
有时我会得到tsv 格式的输出并将其通过管道传输到awk。 jq 对逐行对象非常友好。
要将大的JSON列表转换为逐行格式,只需用任何编程语言解析大对象,并将内部对象逐行序列化回json。
但是如果你已经解析了大对象,我建议你直接在jq中做你想做的处理,不要把里面的对象序列化回来……
【讨论】: