Разбор большого файла JSON в ActionScript 3 - PullRequest
1 голос
/ 21 октября 2010

Мне нужно проанализировать большой файл трассировки (до 200-300 МБ) в приложении Flex.Я начал использовать JSON вместо XML, надеясь избежать этих проблем, но это не сильно помогло.Когда размер файла превышает 50 МБ, JSON-декодер не может его обработать (я использую as3corelib).

Я провел некоторые исследования и нашел несколько вариантов:

  • Попробуйте разбить файл : Я бы очень хотел этого избежать;Я не хочу менять текущий формат файлов трассировки, и, кроме того, с ним было бы очень неудобно обращаться.
  • Использовать базу данных : я думал о написании трассировкив базу данных SQLite и затем читая оттуда, но это заставило бы меня изменить программу, которая создает файл трассировки.

Из вашего опыта, что вы думаете об этих параметрах?Есть ли лучшие варианты?

Программа, которая записывает файл трассировки, находится на C ++.

Ответы [ 3 ]

2 голосов
/ 21 октября 2010

Использование AMF даст вам гораздо меньшие размеры данных для передачи, потому что это двоичный, а не текстовый формат.Это лучший вариант.Но вам понадобится некоторое промежуточное программное обеспечение для преобразования вывода программы C ++ в данные AMF.

Проверьте приложение для переписи Джеймса Уорда для получения дополнительной информации о контрольных показателях при обмене данными:

http://www.jamesward.com/census/ http://www.jamesward.com/2009/06/17/blazing-fast-data-transfer-in-flex/

1 голос
/ 22 ноября 2010

Я нашел эту библиотеку, которая намного быстрее официальной: https://github.com/mherkender/actionjson

Я использую ее сейчас и отлично работает.Он также имеет асинхронный декодер и кодер

1 голос
/ 21 октября 2010

Может быть, вы могли бы разобрать файл на куски, не разбивая сам файл.Это предполагает некоторую работу над парсером J3 ядра as3 core lib, но, думаю, это должно быть выполнимо.

...