Json.. NET错误处理在序列化到特定对象时失败

本文关键字:对象 失败 序列化 NET 错误 处理 Json | 更新日期: 2023-09-27 18:05:37

我试图使用JsonSerializerSettings进行自定义错误处理,但是当我指定对象类型时,错误在运行时调试中停止。"json"不是有效的json,由于远程错误,我无法改变/修复。

工作:

var responseData = JsonConvert.DeserializeObject(json,new JsonSerializerSettings
{
    MissingMemberHandling = MissingMemberHandling.Ignore,
    Error = (sender, args) =>
    {
      // My error handling
    }
});

优惠:

附加信息:将值"Received merchant does not match a registered merchant"转换为类型" TransmitModels+errorData "时出错。路径…

TransmitModels.errorData responseData = JsonConvert.DeserializeObject<TransmitModels.errorData>(json,new JsonSerializerSettings
{
    MissingMemberHandling = MissingMemberHandling.Ignore,
    Error = (sender, args) =>
    {
      // My error handling
    }
});

Json.. NET错误处理在序列化到特定对象时失败

你需要调用

args.ErrorContext.Handled = true;

在回调中告诉Json。. NET说明您处理了异常。如果您不这样做(可能是因为您只想记录错误),则在回调后抛出异常。

相关文章: