我也是醉了,System.Exception居然不能序列化!

巴拉巴拉一堆英文,意思是說TargetSite.DeclaringType是System.Type型別,無法序列化,真真的扯淡,非要我寫個轉換器
public class MethodBaseConverter : JsonConverter<MethodBase>
{
public override MethodBase Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
=> null;
public override void Write(Utf8JsonWriter writer, MethodBase value, JsonSerializerOptions options)
=> writer.WriteStringValue(value.ToString());
}
然后:
try
{
throw new Exception("test");
}
catch (Exception ex)
{
var jso = new JsonSerializerOptions();
jso.Converters.Add(new MethodBaseConverter());
var jsonStr = JsonSerializer.Serialize(ex,jso);
Console.WriteLine(jsonStr);
}
沒道理!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/228248.html
標籤:.NET技术
