gpt4 book ai didi

json.net - 在 JsonConverter 中正常写入 json

转载 作者:行者123 更新时间:2023-12-02 08:01:59 25 4
gpt4 key购买 nike

我正在编写一个自定义 JsonConverter,但只想更改读取逻辑。写入逻辑应该正常执行。无论我尝试什么方法,我都会遇到堆栈溢出,因为 Json.NET 会直接返回到转换器。有没有办法指定我不想自定义编写器,或者我想推迟回正常的 Json.NET 逻辑?

最佳答案

事实证明,您可以重写 JsonConverter 上的 CanWrite 属性,这将阻止 Json.NET 调用转换器。

public class MyConverter: JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
throw new NotImplementedException(); //This will never be called since CanWrite is false
}

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
//Do your thing
return new object();
}

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

public override bool CanConvert(Type objectType)
{
//Do your thing
return true;
}
}

关于json.net - 在 JsonConverter 中正常写入 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23704059/

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