gpt4 book ai didi

c# - 系统文本 json 使用标准反序列化

转载 作者:行者123 更新时间:2023-12-05 06:47:28 24 4
gpt4 key购买 nike

我使用的是 .net core 5,而不是 NEWTONSOFT。我正在编写自定义序列化程序,因为我的 json 的 case 输出很奇怪;但我不介意使用标准解串器。

我有以下代码,遵循编写自定义 jsonConverters 的微软指南:

public class ThingConverter : JsonConverter<Thing>{
public override void Write(Utf8JsonWriter writer, Thing t, JsonSerializerOptions options){
// do stuff, this is fine
}
public override Thing Read(ref Utf8Reader reader, Type typeToConvert, JsonSerializerOptions options){
// i want the DEFAULT behaviour here.
}
}

谁知道如何让阅读器具有默认行为?

我尝试过的事情:

  • return JsonSerializer.Deserialize<Thing>(ref reader, options) -> 给出一个无限循环
  • 添加public override bool CanConvert(Type objectType){return false;} -> 抛出运行时错误,无法转换

首先,我正在使用声明

[JsonConverter(typeof(ThingConverter))]
public class Thing{
}

全局注册转换器。

最佳答案

如果您只想更改属性名称,请使用 [JsonPropertyName("Name")]https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-customize-properties

关于c# - 系统文本 json 使用标准反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67117316/

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