gpt4 book ai didi

c# - JSON.NET:JsonCreationConverter 工作 WriteJson 实现

转载 作者:太空狗 更新时间:2023-10-29 22:32:08 24 4
gpt4 key购买 nike

From this answer我有课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; }
}

关于c# - JSON.NET:JsonCreationConverter 工作 WriteJson 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24601601/

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