Если хеш хранит один идентификатор: (при условии, что значение хранится в переменной с именем hash
)
hash["groups"][0]["venues"][0]["primarycategory"]["id"] rescue nil
Если хеш хранит несколько идентификаторов, то:
ids = Array(hash["groups"]).map do |g|
Array(g["venues"]).map do |v|
v["primarycategory"]["id"] rescue nil
end.compact
end.flatten
ids
содержит массив идентификаторов.