Как управлять большими документами JSON с помощью разработки телефона? - PullRequest
1 голос
/ 16 февраля 2012

У меня есть очень большой документ JSON, который я привожу на телефон для использования.В документе JSON содержатся тысячи объектов различных типов, структурированная иерархия которых соответствует модели свободного домена.

Проблема заключается в том, что моему HTC Titan для десериализации файла требуется более 6 секунд.И я в значительной степени привязан к загрузке всего файла каждый раз, когда я хочу использовать только небольшую его часть.Поэтому я ищу альтернативы.Вот те, о которых я подумал:

  1. Примите 6-секундную задержку десериализации, и всякий раз, когда пользователь выходит из состояния покоя на телефоне, ему придется иметь дело с этим.Это в значительной степени исключает всякую надежду на использование запланированных фоновых процессов на телефоне, которые ограничивают объем используемой памяти и процессора.

  2. Не используйте десериализацию объектов с JSON и используйтеИнфраструктура JObject для доступа к данным так, как мне нужно.

  3. Разбейте JSON, чтобы использовать один объект для каждого типа Aggregate, затем укажите файловые индексы, чтобы упростить поиск связей.

  4. Миграция всего этого на SQL Server с использованием встроенной функциональности Linq to SQL.Мне не нравится эта альтернатива, потому что использование JSON для этого проекта облегчит взаимодействие с внешними API-интерфейсами с меньшим количеством конверсий.

  5. Использование сторонней базы данных nosql (я ничего не нашелкоторый поддерживал документы JSON напрямую)

Каков наилучший способ работы с большими документами JSON в телефонной среде?

1 Ответ

1 голос
/ 16 февраля 2012

Использование JObject сэкономит некоторые накладные расходы.

Использование необработанного JsonTextReader - самый быстрый вариант, который предоставляет Json.NET.

...