代码之家  ›  专栏  ›  技术社区  ›  Kris Walker

序列化sqlite的javascript数据结构

  •  0
  • Kris Walker  · 技术社区  · 15 年前

    我的目标是将用于存储的javascript本机数据类型序列化到sqlite数据库中。我是在一个火狐扩展中完成的,所以我可以访问Mozilla平台xpcom api。最初我认为最简单的事情就是存储JSON字符串。

    但是,如果有一种方法可以在Mozilla平台中序列化本机数据类型,我想知道在哪里可以找到它。如果可能的话,对于额外的工作(如果有的话),我可以期望节省多少存储空间,与JSON相比,会有性能成本吗?

    当然,以二进制格式存储数据的好处可能不会超过简单使用JSON的便利性。有什么建议吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mark Rushakoff    15 年前

    Firefox 3.5+ has native JSON encoding/decoding ,比json的javascript引擎解码快, according to Wikipedia .

    考虑到快速(反)序列化在ff3.5+中的含义,我认为您最好还是使用JSON字符串。如果您需要从另一种语言/平台检查数据库,那么这种方式实际上也是跨平台兼容的。

    就字符串开销而言,如果去掉不必要的空白,您将看到一些大括号、一些引号、一些逗号/冒号的开销,以及将数字存储为字符串而不是本机格式的成本。除非这被证明是应用程序中的瓶颈,否则使用简单JSON字符串所增加的简单性似乎是值得的。