我正在将项目从Newtonsoft.Json版本4升级到版本6.
该项目订阅了Error
类的Newtonsoft.Json.JsonSerializer
处理程序,如下所示:
Newtonsoft.Json.JsonSerializer _serializer = new Newtonsoft.Json.JsonSerializer();
_serializer.Error += SerializerErrorHandler;
protected virtual void SerializerErrorHandler(object sender, Newtonsoft.Json.Serialization.ErrorEventArgs e)
{
//handle error
}
在第4版中,当发生错误时,您可以访问MemberValue
上的ErrorContext
属性以获取生成错误的JSON片段的值:
Newtonsoft.Json.Linq.JToken obj = Newtonsoft.Json.Linq.JToken.Parse(e.ErrorContext.MemberValue.ToString());
在v6中,MemberValue
属性似乎消失了,我看不到任何其他方法来获取导致错误的JSON值。
在v6中是否有办法获取在错误处理程序中解析的当前JSON片段?