【发布时间】:2015-08-03 16:46:56
【问题描述】:
我做了一个简单的JsonConverter,因为我有一个页面发布了一个可以是泛型类型的 JSON 数组。
在我的自定义 JsonConverter 类中使用覆盖的 ReadJson 方法可以正常发布 JSON 数据并将其转换为类型化对象。
我还需要再次从数据库中读取数据,我会这样做:
public Element GetElementById(ObjectId id)
{
return Db.GetCollection<Element>("Elements").Find(x => x.Id == id).FirstOrDefaultAsync().Result;
}
上述方法被WebApi方法调用:
[HttpGet]
public Element GetElement()
{
var element = _elementService.GetElementById(new ObjectId("123e4567b4775f1c48bdabcd"));
return element;
}
从那里它从数据库返回正确的对象。但是在return element 之后,在我的自定义JsonConverter 类中调用WriteJson json 覆盖方法。该方法如下所示:
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
throw new NotImplementedException();
}
我不需要在WriteJson 方法中做任何特别的事情。因为从数据库返回的对象是好的。我只想让WebApi 将该对象转换为 JSON,一切都应该很好。
那WriteJson方法在我不需要做任何特别的事情时如何实现呢?
【问题讨论】:
-
@garryp 不知道你想说什么,这是 JSON.NET 代码? ^^ - “在使用 Mongo 和 Json 时不要使用类型化的对象?”还是那些行中的东西?
标签: c# asp.net-web-api json.net asp.net-web-api2