Đối với những gì nó có giá trị, có vẻ như đội MongoDB bây giờ có một dự án hỗ trợ javascript BSON:
https://github.com/mongodb/js-bson
Tôi không phải chuyên gia với thư viện, nhưng dự án này tuyên bố để làm việc trong cả hai Node và trình duyệt. Dưới đây là một mẫu cải tiến từ trang web của họ:
<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>
Dưới đây là kết quả của tôi trong Chrome:
![enter image description here](https://i.stack.imgur.com/HNMEL.png)
Tôi không chắc chắn lý do tại sao bạn sẽ muốn làm điều này? Chỉ cần chuyển JSON đến/từ trình khách/trình duyệt và sau đó chuyển đổi sang BSON như bạn muốn trên máy chủ. –
JavaScript thực sự không có nhiều hỗ trợ cho các thao tác ở mức độ thấp - giống như các thao tác cho phép BSON hiệu quả hơn JSON - vì vậy bạn có thể phải sử dụng Flash ... –
@ChrisPietschmann: điều này sẽ giới hạn tôi thành HTTP và ví dụ số nguyên trong JSON phải phân tích cú pháp thay vì khả năng gán trực tiếp. (Dự định cũng ít tải trên máy chủ) –