4
我正在使用MVC4 WebApi與RestSharp客戶端,我努力讓ObjectIds正確地序列化(或反序列化)。MVC4 WebApi序列化/反序列化MongoDB ObjectId
我有一個基本的類,像這樣:
public class User
{
[BsonId]
public ObjectId Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
什麼是反序列化在客戶端上該對象的最佳/有道?我已經嘗試過的所有Id屬性的值都是ObjectId.Empty。
非常感謝。
更新:
我試過創建一個不同的ObjectIdDeserializers。下面是反序列化器以及客戶端和樣本json的例子,它們被髮送回客戶端。
public class ObjectIdDeserializer : IDeserializer
{
public string RootElement { get; set; }
public string Namespace { get; set; }
public string DateFormat { get; set; }
public T Deserialize<T>(RestSharp.IRestResponse response)
{
return BsonSerializer.Deserialize<T>(response.Content);
}
}
在RestSharp我加入以下行來調用上述解串器:
_client.AddHandler("application/json", new ObjectIdDeserializer());
和一些示例JSON看起來是這樣的:
"User":
{
"Id":
{
"_timestamp":1339158960,
"_machine":7962014,
"_pid":4040,
"_increment":9499872
},
"FirstName":"Test",
"LastName":"User"
}
你能告訴我們你到目前爲止試過的嗎? –
@AndrewOrsich我只是增加了一些細節。感謝您的關注,如果您有任何想法,請讓我知道 – zgirod