是否可以为Json.Net创建异步JsonConverter?

时间:2018-07-23 20:01:01

标签: c# async-await json.net

我们有一个场景,需要获取架构元数据以对对象进行序列化(反序列化)。模式存储库仅提供异步调用。如何编写异步的JsonConverter?如果不可能,人们正在使用哪些替代方法来处理ASP.NET管道中的异步序列化?

我不需要异步加载或保存json。这是在解析和创建json期间异步获取元数据。这样,解串器可以确定解析数据时要加载的具体和动态类型和版本。

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
    var metadata = await metadataRepo.GetMetadata(value);
    /* inject custom json formatting from object */
}

public override override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
    var jobject = JObject.Load(reader);
    var schema = jobject["schema"];
    var metadata = await metadataRepo.GetMetadata(schema);
    /* parse complex json formatting from object */
}

0 个答案:

没有答案