質問

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

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

もちろん、バイナリ形式でデータを保存する利点は、JSONを使用するだけの簡単さを上回らない場合があります。提案はありますか?

役に立ちましたか?

解決

Firefox 3.5以降にはネイティブのJSONエンコード/デコードがあり、Javascript-engineよりも高速です。 JSONのデコード、 Wikipediaに準拠

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top