我也是醉了,System.Exception竟然不能序列化!
json
巴拉巴拉一堆英文,意思是說TargetSite.DeclaringType是System.Type類型,沒法序列化,真真的扯淡。非要我寫個轉換器ide
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()); }
而後:code
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); }
沒道理!!!blog