私は通常、方法Newtonsoft.Json.JsonConvert.DeserializeObject
が使用されていることを知っています。しかし、この場合、私はシリアライゼーションを行い、それに続くデシリアライズは動作しません。jsonオブジェクトを逆シリアル化する方法は?
static public void mess(test message)
{
try
{
test temp = new test(id); // The only thing I don't show is that I obtain a valid ObjectId in id
string messageSerialized = Newtonsoft.Json.JsonConvert.SerializeObject(temp);
Newtonsoft.Json.JsonConvert.DeserializeObject<test>(messageSerialized);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
は、私は次の例外を取得します。エラー値を変換する「57ab57ba86597bac513ce130は」MongoDB.Bson.ObjectIdを入力するには」。パス「」、行1、位置31」
しかし私はそれがどのようにそれをデシリアライズすることができるタイプをシリアライズが、できなかった、問題はタイプであることを取得するテストの
構造:?
public class test
{
public MongoDB.Bson.ObjectId a;
public test(MongoDB.Bson.ObjectId b)
{
a = b;
}
}
messageSerialized = "{\"a\":\"57ab57ba86597bac513ce130\"}"
「BrowsersObj」の定義は何ですか? –
Json.NETはパブリックコンストラクタなしで型をシリアル化できますが、そのような型を逆シリアル化することはできません。場合によっては、データモデルにそのようなタイプが含まれている可能性があります。それを超えて私たちは[mcve]が必要です。 – dbc
私はそれが15から20のプロパティを持つクラスである可能性がありますが、それらの多くはクラスを含むクラスです...エラーはオブジェクトIDプロパティにはっきりとあるので本当に必要ですか? – Cher