2016-08-10 21 views
0

は、私がこれを使用する必要があります。ストリームの代わりに文字列を使用する方法は?

http://www.newtonsoft.com/json/help/html/SerializeToBson.htm

これはBSON形式にオブジェクトを変換するためのコードです。私に関心を持つコードは

ですが、結果を文字列にしたいと思います。だから私は実際にストリームやファイルを使用して文字列を書いてから文字列に入れる必要がありますか?

これを行うには、より良い方法が必要ですか?

+1

リンクが何をしているのかを要約して質問を修正してください。あなたが話していることの要点を得るために私たちをそこに行かせないでください。 –

+0

私はそれを更新しました –

+0

BSONは***バイナリ***構造化オブジェクト表記法の略です。 –

答えて

4

あなたはStreamReader.ReadToEnd()を使用してストリームから文字列を得ることができます:ところで、誰が、あなたはここから取得するつもりだ知っている

 using(MemoryStream stream = new MemoryStream()) 
     using (BsonWriter writer = new Newtonsoft.Json.Bson.BsonWriter(stream)) 
     { 
      JsonSerializer serializer = new JsonSerializer(); 
      serializer.Serialize(writer, message); 

      bsonText = Encoding.UTF8.GetString(stream.ToArray()); 
     } 

 string bsonText = ""; 

     using(MemoryStream stream = new MemoryStream()) 
     using(StreamReader reader = new StreamReader(stream)) 
     using (BsonWriter writer = new Newtonsoft.Json.Bson.BsonWriter(stream)) 
     { 
      JsonSerializer serializer = new JsonSerializer(); 
      serializer.Serialize(writer, message); 

      stream.Position = 0; 
      bsonText = reader.ReadToEnd(); 
     } 

、あるいはまた、Encoding.UTF8.GetString()BSONはバイナリオブジェクト表現であるため、JSONと似ていません!

関連する問題