2013-07-03 6 views
1

У меня есть файл JSON с дискретными объектами, которые не заключены в другой составной объект (например, массив). Причина этого в том, что я не хочу полагаться на предположение, что все они будут вписываться в память.JSON Разбор файла автономных объектов в Ruby

Другими словами, я хотел бы перебирать их, читать, разбирать и обрабатывать их по одному.

В YAML я могу сделать это с помощью YAML.load_documents. Есть ли такая вещь в (Ruby) JSON?

Спасибо, Кит

+0

Я думаю, что понял. Однако пример в вопросе был бы полезен. –

ответ

1

Так в основном вы хотите потокового парсер JSON.

Попробуйте yajl-ruby, драгоценный камень с рубиновыми связями с библиотекой потокового анализатора Yajl JSON, или JSON::Stream потоковый чисто-рубиновый JSON-парсер.

+0

Спасибо! Я использовал yajl-ruby. Я не мог найти пример обработки разобранных записей по одному, но придумал этот метод, который работает для меня: https://gist.github.com/keithrbennett/5930475. –

+0

Не забудьте драгоценный камень Oj. Он обеспечивает значительно более быстрый потоковый интерфейс анализатора JSON через Oj :: ScHandler (простой обработчик обратного вызова). –

Смежные вопросы