4
RestSharp 클라이언트에서 MVC4 WebApi를 사용하고 있으며 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