Вопрос

Моя цель - сериализовать собственные типы данных JavaScript для хранения в базе данных SQLite. Я делаю это в рамках расширения Firefox, и поэтому у меня есть доступ к API XPCOM платформы Mozilla. Сначала я думал, что проще всего будет просто хранить строки JSON.

Однако, если есть способ сериализации нативных типов данных на платформе Mozilla, я хотел бы знать, где я могу их найти. И если это возможно, какой экономии места на диске я могу ожидать для дополнительной работы (если таковая имеется) и будет ли снижение производительности по сравнению с JSON?

Конечно, выгоды от хранения данных в двоичном формате могут не перевесить простоту использования JSON. Есть предложения?

Это было полезно?

Решение

Firefox 3.5+ имеет встроенную кодировку / декодирование JSON , которая работает быстрее, чем Javascript-движок декодирование JSON, согласно Википедии .

Учитывая последствия быстрой (де) сериализации в FF3.5 +, я бы сказал, что вы также можете придерживаться строк JSON. Этот способ также будет практически кросс-платформенным, если вам когда-нибудь понадобится проверить БД с другого языка / платформы.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top