Является ли бинарная JSON-библиотека JavaScript доступной для браузеров?
Для эффективного анализа на стороне сервера я рассматриваю решение BSON непосредственно для среды javascript браузера. Идея состоит в том, чтобы использовать все пространство ASCII с помощью двоичных веб-узлов. Любые предложения?
(Любые предложения nodejs также приветствуются)
См. также:
http://bsonspec.org/
Ответы
Ответ 1
Это может быть неполно, но цель проекта заключается в том, что вы хотите: https://github.com/muhmi/javascript-bson Это не похоже на то, что кодирует непосредственно набранные массивы, которые были бы наиболее полезны для отправки через WebSocket.
Ответ 2
Для чего это стоит, похоже, что команда MongoDB теперь имеет поддерживаемый Javascript 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:
![enter image description here]()
Ответ 3
Здесь в 2019 году современные браузеры уже имеют встроенные функции:
btoa("string to be coded on base64 format")
atob("base64 string to be uncoded")