Разобрать большой JSON-хеш с ruby-yajl?
У меня есть большой файл (>50Mb), который содержит хэш JSON. Что-то вроде:
{
"obj1": {
"key1": "val1",
"key2": "val2"
},
"obj2": {
"key1": "val1",
"key2": "val2"
}
...
}
Вместо того, чтобы анализировать весь файл и брать, скажем, первые десять элементов, яЯ хотел бы проанализировать каждый элемент в хэше. Я на самом деле нене заботится о ключе, т.е.obj1
Если я преобразую вышеупомянутое в это:
{
"key1": "val1",
"key2": "val2"
}
"obj2": {
"key1": "val1",
"key2": "val2"
}
Я могу легко добиться того, чего хочу, используя потоковую передачу 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
Есть ли способ сделать это без изменения файла? Может быть, какой-то обратный вызов в Yajl?