2011-09-24 16 views
18

効率的なサーバーサイド解析のために、私はブラウザのjavascript環境用にBSONソリューションを直接探しています。アイデアは、バイナリWebソケットを使ってASCII空間全体を利用することです。助言がありますか?バイナリJSON JavaScriptライブラリはブラウザで利用できますか?

(任意nodejs提案が同様に歓迎されている)

も参照してください: http://bsonspec.org/

+2

私はこれをしたいと思う理由はわからないんだけど? JSONをクライアント/ブラウザとの間でやりとりし、サーバー上で好きなようにBSONに変換するだけです。 –

+0

JavaScriptはJSONよりもBSONのほうが効率的であるような低レベルの操作をサポートしていないので、おそらくFlashを使用する必要があります。 –

+2

@ChrisPietschmann:これは私をHTTPに制限します例えば直接割り当ての可能性の代わりにJSONの整数を解析する必要があります。 (サーバー上の負荷も少ない) –

答えて

6

これは不完全しかし、あなたは何をしたいとプロジェクトラインアップの目標であるかもしれない:https://github.com/muhmi/javascript-bsonそれが見えませんWebSocket経由で送信するのに最も有用な型付き配列を直接エンコードします。

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

私は図書館とは専門家だが、プロジェクトは、両方のノードで動作するように主張:それはMongoDBのチームは現在、サポートJavascriptをBSONプロジェクトを持っていることの価値が表示されているものについては

11

とブラウザ。以下は、自分のサイトから修正されたサンプルされます。以下は

<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

はい、ブラウザでサポートされています。ブラウザのビルドが提供されています:https://github.com/mongodb/js-bson/tree/master/browser_build経由でもインストール可能"bower install bson --save"を使用してください。 – arcseldon

+0

@ SamuelNeff - それは単に正しくありません。公式にサポートされているだけでなく、私はそれが2つ以上のプロジェクトで使用されているのを見ました。私自身もそれを使いました。 – JSON

+0

@JSON、私が約2年前に投稿したとき、それはサイト自体からの引用でした。それは "MongoDBネイティブドライバで使用される、ノード用JS/C++ Bsonパーサ"と言われています。それ以来、彼らは変更し、特に彼らがブラウザをサポートしていると述べています。 –

関連する問題