浏览器可以使用二进制 JSON javascript 库吗?

2023-12-20

为了实现高效的服务器端解析,我正在寻找直接用于浏览器 JavaScript 环境的 BSON 解决方案。这个想法是通过二进制 websocket 来利用整个 ASCII 空间。有什么建议么?

(也欢迎任何nodejs建议)

也可以看看:http://bsonspec.org/ http://bsonspec.org/


无论如何,MongoDB 团队现在似乎有一个受支持的 Javascript BSON 项目:

https://github.com/mongodb/js-bson https://github.com/mongodb/js-bson

我不是该库的专家,但该项目声称可以在 Node 和浏览器中工作。以下是他们网站上的修改示例:

<head>
  <!-- Originally https://raw.github.com/mongodb/js-bson/master/browser_build/bson.js -->
  <!-- But downloaded and hosted locally -->
  <script src="./bson.js"></script>
</head>
<body onload="start();">
<script>
  function start() {
    var BSON = bson().BSON;
    var Long = bson().Long;

    var doc = {
      oid: bson().ObjectID(),
      long: Long.fromNumber(100),
      date: new Date(),
      string: "js-bson sample",
      obj: { 
        string: "Object within an object"
      }
    }
    console.log("doc %o", doc);

    // Serialize a document
    var data = BSON.serialize(doc, false, true, false);
    console.log("data %o", data);

    // De serialize it again
    var doc_2 = BSON.deserialize(data);
    console.log("doc_2 %o", doc_2);
  }
</script>
</body>

以下是我在 Chrome 中的结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浏览器可以使用二进制 JSON javascript 库吗? 的相关文章

随机推荐

  • 如何找到 0 - 100 之间的质数?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 在 Javascript 中 我如何找到 0 100 之间的素数 我想过 但我不知道如何找到它们 我想过做 x x 但我发现了
  • 避免同一缓存区域的多次重新填充(由于并发)

    我有一个高流量的网站 我使用休眠 我还使用 ehcache 来缓存生成页面所需的一些实体和查询 问题是 并行缓存未命中 详细的解释是 当应用程序启动并且缓存区域变冷时 每个缓存区域都会被不同的线程填充多次 而不是仅一次 因为该站点被许多用户
  • ListView.getCheckedItemPositions 无法返回 SparseBooleanArray 中的选中项

    我正在尝试读取包含多个的列表中的联系人checkboxes 但是当我打电话给sparsebooleanarray 它只是为所有列表条目返回 false 即使对于已检查的条目也是如此 我调查了这个线程为什么 ListView getCheck
  • 为多个服务器加密 web.config 数据

    我需要为客户端加密 web config 文件的部分内容 我见过的大多数参考文献都是使用 aspnet regiis 进行加密 但是 据我所知 这需要在托管该站点的 Web 服务器上进行 这意味着每个服务器的加密值都不同 我无权访问该客户端
  • 我可以将嵌入的 Base64 编码字体转换为字体文件吗?

    我有一个 font face 规则 它看起来像这样 font face font family F src url format embedded opentype url data application x font woff char
  • 为什么 Python 枚举中的可变值是同一个对象?

    在尝试不同的值类型时Enum成员们 当值可变时 我发现了一些奇怪的行为 如果我定义一个值Enum作为不同的列表 成员的行为仍然与Enum值是典型的不可变类型 例如str or int 即使我可以更改现有成员的值 以便两个值Enum成员相同
  • AngularJS For 循环与数字和范围

    Angular 确实为在 HTML 指令中使用数字的 for 循环提供了一些支持 div do something div 但是 如果您的作用域变量包含具有动态数字的范围 那么您每次都需要创建一个空数组 在控制器中 var range fo
  • Pandas GroupBy:如何根据列获取前n个值

    如果这是一个基本问题 请原谅我 但我是熊猫新手 我有一个带有 A 列的数据框 我想根据 A 列中的计数获取前 n 行 例如 原始数据看起来像 A B C x 12 ere x 34 bfhg z 6 bgn z 8 rty y 567 hm
  • 在 BigQuery 中使用 _TABLE_SUFFIX 时无法识别名称“列”

    我有以下 BigQuery 数据集 一组带有名称的表keywords ab keywords ac keywords zz 另一组带有名称的表keywords different schema ab keywords different s
  • 异常:类型“String”不是类型“Map”的子类型

    异常 类型 String 不是类型 Map 的子类型 collection data id 1 name Marko picture https lh3 googleusercontent com a AAuE7mC1vqaKk Eylt
  • 无法在 kivy 中打开窗口[重复]

    这个问题在这里已经有答案了 我开始在我的游戏中使用 kivy 因此在遵循一些在线教程时 python shell 返回这些错误 INFO Logger Record log in C Users kivy logs kivy 18 10 2
  • Powershell - 用户映射 SQL Server 2012

    我正在尝试为不同的登录帐户编写用户映射脚本 我已经编写了用户和单个服务器角色的创建脚本 但我不知道如何使用 Powershell 设置用户映射 我还需要设置Database Role membership 尤其 db backupopera
  • 为什么 Fortran 代码会出现分段错误?

    下面的 Fortran 代码出现分段错误 但是 当我修改print pow 10 8 i to print pow j i 它可以正常工作 不会出现分段错误 为什么 这很奇怪 module mdl implicit none integer
  • Xcode 变量

    在 Xcode 中 我知道你可以获得诸如PROJECT DIR在某些情况下使用 例如运行脚本构建阶段 我想知道是否可以获得构建类型 即 Release or Debug 有任何想法吗 最好的来源可能是苹果官方文档 http help app
  • Java 泛型在子类化时不兼容类型

    从泛型类类型 形式类型参数进行子类化时T E具有有效的类类型 实际类型参数 例如Type String出现多种组合 令人困惑的是该使用哪一种以及何时使用 public class SubClass
  • 动态加载库

    我有以下项目结构 Web API 类库A 类库B 类库C 这些是项目之间的参考 Web API直接引用A and B B直接引用C C有一个方法需要确保A被加载以通过反射使用其中定义的类型 我的代码实际上如下 public class C
  • 如果用户的互联网关闭,如何更改数据库值

    在过去的几天里 我一直在尝试显示用户的在线 离线状态 为此 我有一个注册活动 他们在其中注册 他们的信息会保存在 firebase 中 如果他们退出活动 我会覆盖其 onstop方法并将值设置为离线 但是如果用户突然失去互联网连接 它仍然显
  • 如何从字段时间戳将出生日期转换为当年的生日?

    id birth 1 1079280000 2004 03 15 2 987264000 2001 04 15 3 1042560000 2003 01 15 如何转换为birth时间戳至1300118400 2011 03 15 对于sq
  • 使用 Clojure 协议实现自定义数据结构

    我可能错过了有关协议的全部要点 但我的问题是 协议是否可用于指示如何迭代自定义数据结构或 println 如何打印对象 假设有两个向量的地图 a b 当第一次调用它时 我想从 a 向量中获取 但是当 conj 在此结构上时 我想 conj
  • 浏览器可以使用二进制 JSON javascript 库吗?

    为了实现高效的服务器端解析 我正在寻找直接用于浏览器 JavaScript 环境的 BSON 解决方案 这个想法是通过二进制 websocket 来利用整个 ASCII 空间 有什么建议么 也欢迎任何nodejs建议 也可以看看 http