我正在努力寻找解决方案,所有其他问题我都已经找到了很接近的答案,但仍然没有答案。
我有一个巨大的json,并且其中包含许多对象和数组。 我想做的是从包含名为“ time”或“ time ”的键的json中提取整个对象。我已经找到了相关的解决方案,但是它们只是带来了密钥,而不是整个对象。
示例1:
{
"time": -762,
"type": "chatwheel",
"key": "156",
"slot": 1,
"player_slot": 1
}
示例2:
{
"time": 888,
"type": "building_kill",
"unit": "npc_knight",
"key": "npc_goodguys_tower1",
"slot": 7,
"player_slot": 130
},
示例3:
{
"time": 681,
"type": "obs_left_log",
"key": "[132, 124]",
"slot": 0,
"x": 132,
"y": 124,
"z": 130,
"entityleft": true,
"ehandle": 5014545,
"player_slot": 0
},
Ex 4:
"purchase_log": [
{
"time": -89,
"key": "orb_of_venom"
},
{
"time": -89,
"key": "tango"
},
因此,基本上,我不仅需要获取时间键,还需要获取键“时间”所属的整个对象。 (如示例) 有办法吗?
谢谢
答案 0 :(得分:0)
如果您的jq有walk
,并且您的计算机有足够的内存:
walk(if type == "object"
then if has("time") then . else empty end
else . end )
要获取walk
的def的副本,请参见例如https://github.com/stedolan/jq/blob/master/src/builtin.jq