gpt4 book ai didi

mongodb - MVC4 WebApi 序列化/反序列化 MongoDB ObjectId

转载 作者:可可西里 更新时间:2023-11-01 09:13:50 28 4
gpt4 key购买 nike

我正在将 MVC4 WebApi 与 RestSharp 客户端一起使用,我正在努力让 ObjectIds 正确地序列化(或反序列化)。

我有一个像这样的基础类(class):

public class User
{

[BsonId]
public ObjectId Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }

}

在客户端反序列化此对象的最佳/正确方法是什么?我尝试过的所有 Id 属性都是有值(value)的 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"
}

最佳答案

在 SO 上进行了大量搜索后,我找到了一个简单的解决方案来解决我的问题。

使用此答案中的方法,属性将存储为 ObjectId,在代码中它只是一个字符串。正是我希望实现的目标。

https://stackoverflow.com/a/7982411/360843

关于mongodb - MVC4 WebApi 序列化/反序列化 MongoDB ObjectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942824/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com