【发布时间】:2023-01-24 23:23:13
【问题描述】:
我正在尝试通过特定键将数组转换为对象。它在不使用流的情况下工作正常,但在应用流时不可能。
数据:
[
{
"id": "1",
"userId": "fa51531d"
}
,
{
"id": "2",
"userId": "a167869a"
}
]
我尝试运行此命令,但它会引发错误。
jq -n --stream 'fromstream(1|truncate_stream(输入)) | INDEX(.id)' test.json > result.json
以上数据应转换为:
{ "1": { "userId": "fa51531d", "id": "1" }, "2": { "userId": "a167869a", "id": "2" }, }我想获得与
jq 'INDEX(.id)相同的结果,但我需要使用流(因为 JSON 文件很大)。
【问题讨论】:
-
流真的包含数组开始和结束
[...]还是对象流{ "id": "1", "userId": "fa51531d" }... 等等?