用JSON重写WriteJson.网络图书馆

本文关键字:网络 图书馆 WriteJson 重写 JSON | 更新日期: 2023-09-27 17:50:23

我做了一个简单的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之后,WriteJson json覆盖方法在我的自定义JsonConverter类中被调用。这个方法看起来像这样:

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
    throw new NotImplementedException();
}

我不需要在WriteJson方法中做任何特别的事情。因为从数据库返回的对象是好的。我只是想让WebApi将该对象转换为JSON,一切都应该是好的。

那么我如何实现WriteJson方法时,我不需要在它做任何特别的?

用JSON重写WriteJson.网络图书馆

覆盖CanWrite并返回false:

    public override bool CanWrite { get { return false; } }