2017-05-10 5 views
2

私はC#クラスを持っています。私はMongo C#ドライバを使って、ドキュメントとしてMongo DBに格納しています。Mongo DBのC#クラスのプロパティとしてJObjectを格納しています

JObjectがNewtonsoft JSONライブラリからのタイプである
public JObject Payload {get;set;} 

を:私は、このクラスには次のようであるプロパティを、追加しました。 Mongoにシリアライズすると、キーと構造の正しいセットを持つドキュメントが得られますが、すべての値はNewtonsoftライブラリのタイプの名前です。例えば:

"ペイロード":{ "fieldOne": "Newtonsoft.Json.Linq.JObject、Newtonsoft.Json、バージョン= 10.0.0.0、文化= PublicKeyTokenニュートラル= 30ad4fe6b2a6aeed"、 「fieldTwo ":{ "人":{ "attributeOne": "jオブジェクト"、ように

と。値の型名の代わりに実際の値を持つように、この文書を正しく保存するにはどうすればよいですか? Newtonsoftタイプのカスタムシリアライザを書くのは私の唯一の手段ですか?

答えて

0

我々はJObjectからBsonDocumentにタイプを変更し、我々はプロパティを設定するとき、我々は、オブジェクトの文字列表現にBsonDocument.Parseを使用しています。 JSON値を再抽出する必要があるときは、プロパティの.ToString()メソッドを使用します。これはうまくいくようです。

関連する問題