0

私の目標は、SQLite データベースに格納するために JavaScript ネイティブ データ型をシリアル化することです。私はこれを Firefox 拡張機能内で行っているので、Mozilla プラットフォームの XPCOM API にアクセスできます。最初は、JSON 文字列を保存するのが最も簡単だと考えていました。

ただし、Mozilla プラットフォーム内でネイティブ データ型をシリアル化する方法がある場合は、それがどこにあるのか知りたいです。また、これが可能である場合、余分な作業 (ある場合) に対してどのようなストレージ スペースの節約を期待できますか? また、JSON と比較してパフォーマンス コストは発生しますか?

もちろん、データをバイナリ形式で保存する利点は、単純に JSON を使用することの容易さを上回ることはありません。助言がありますか?

4

1 に答える 1

1

Wikipedia によると、 Firefox 3.5+ にはネイティブの JSON エンコーディング/デコーディングがあり、JSON の Javascript エンジンによるデコーディングよりも高速です。

FF3.5+ での高速 (逆) シリアル化の影響を考えると、JSON 文字列に固執する方がよいと思います。この方法は、別の言語/プラットフォームから DB を検査する必要がある場合でも、実質的にクロスプラットフォーム互換になります。

文字列のオーバーヘッドに関する限り、不要な空白を取り除くと、いくつかの中かっこ、いくつかの引用符、いくつかのコンマ/コロンのオーバーヘッド、および数値を文字列ではなく文字列として格納するコストが発生します。ネイティブ形式。それがアプリケーションのボトルネックであることが判明しない限り、単純な JSON 文字列を使用することによる単純さの追加は価値があると思われます。

于 2009-09-10T03:30:12.627 に答える