JSON.JsonCreationConverter工作WriteJson实现



从这个答案我有类JsonCreationConverter<T>和一些具体类型的实现。但是这个抽象类缺少WriteJson方法的实现。

在网上我找到了代码:

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
    //use the default serialization - it works fine
    serializer.Serialize(writer, value);
}

但是这段代码以StackOverflowException结束,因为它一直调用自己(当然)。其他解决方案是针对具体对象实现,逐个序列化所有值。我真的想避免它,只想使用默认的序列化,这对我来说是可以的。只是为了避免调用JsonConverter进行序列化。我只需要它来反序列化。这可能吗?如何?

尝试重写转换器中的CanWrite属性getter,以便它返回false。这将防止在序列化期间使用转换器。

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

相关内容

  • 没有找到相关文章