我有一个json文件,其中时间序列存储在data key下,对象id存储在info key中:
{info:
{id: abc},
data:[
[10, 5, 3],
[12, 6, 4],
# 5000 list items
]
}我想要扁平化json并产生类似于:
[
{id: abc, time: 10, x: 5, y: 3},
{id: abc, time: 12, x: 6, y: 4},
# the rest of 5000 points
]我正在运行一个jq查询,并且似乎可以很好地生成一系列项:
"{time: .data[][0], x: .data[][2], y: .data[][1], item: .info.id}"
当我试图将相同的表达式放到一个列表中来创建一个字典列表时,我遇到了内存溢出限制:
"[{time: .data[][0], x: .data[][2], y: .data[][1], item: .info.id}]"
还有什么我可以做的不一样的吗?在此之前,非常感谢您。
发布于 2020-02-29 18:10:11
@peak has already pointed out the problem with your query,以下是基于他提供的见解的解决方案:
[ (.data[] | {time: .[0], x: .[1], y: .[2]}) + {id: .info.id} ]https://stackoverflow.com/questions/60463005
复制相似问题