Analizuj duży hash JSON za pomocą ruby-yajl?
Mam duży plik (> 50 MB), który zawiera skrót JSON. Coś jak:
{
"obj1": {
"key1": "val1",
"key2": "val2"
},
"obj2": {
"key1": "val1",
"key2": "val2"
}
...
}
Zamiast analizować cały plik i wypowiadać pierwsze dziesięć elementów, chciałbym przeanalizować każdy element w hash. Właściwie nie obchodzi mnie klucz, tj.obj1
.
Jeśli przekonwertuję powyższe na to:
{
"key1": "val1",
"key2": "val2"
}
"obj2": {
"key1": "val1",
"key2": "val2"
}
Mogę łatwo osiągnąć to, co chcę, dzięki strumieniowaniu Yajl:
io = File.open(path_to_file)
count = 10
Yajl::Parser.parse(io) do |obj|
puts "Parsed: #{obj}"
count -= 1
break if count == 0
end
io.close
Czy można to zrobić bez zmiany pliku? Może jakiś zwrot w Yajlu?