gpt4 book ai didi

json - 使用 jq 解析每行 JSON 记录?

转载 作者:行者123 更新时间:2023-12-04 05:46:14 25 4
gpt4 key购买 nike

我有一个工具可以在每一行输出一个 JSON 记录,我想用 jq 处理它。

输出如下所示:

{"ts":"2017-08-15T21:20:47.029Z","id":"123","elapsed_ms":10}
{"ts":"2017-08-15T21:20:47.044Z","id":"456","elapsed_ms":13}

当我按如下方式将其传递给 jq 时:
./tool | jq 'group_by(.id)'

...它输出一个错误:
jq: error (at <stdin>:1): Cannot index string with string "id"

如何让 jq 处理 JSON-record-per-line 数据?

最佳答案

使用 --slurp (或 -s )开关:

./tool | jq --slurp 'group_by(.id)'

它输出以下内容:
[
[
{
"ts": "2017-08-15T21:20:47.029Z",
"id": "123",
"elapsed_ms": 10
}
],
[
{
"ts": "2017-08-15T21:20:47.044Z",
"id": "456",
"elapsed_ms": 13
}
]
]

...然后您可以进一步处理。例如:
./tool | jq -s 'group_by(.id) | map({id: .[0].id, count: length})'

关于json - 使用 jq 解析每行 JSON 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45714384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com