我需要一种方法来忽略一个大列表中JsonProperty失败(抛出错误)的行/项,该列表以JSON形式提供给newtonsoft JsonCovert。
目前使用this question (and answer)作为基础来处理错误,直到几个案例为止都运行良好。
在不处理错误上下文的情况下使用此流:
var currentError = errorArgs.ErrorContext.Error.Message;
errorArgs.ErrorContext.Handled = false;
字符串
它不返回任何项,即使是字符串中通过验证的项
然而,使用此流程:
var currentError = errorArgs.ErrorContext.Error.Message;
errorArgs.ErrorContext.Handled = true;
型
所有的项目都是序列化的,错误是在那些具有JsonProperty("property_name", Required = Required.Always, NullValueHandling = NullValueHandling.Ignore)
或JsonRequired
的属性上抛出的。
并且它们仍然包含在列表中,这会在将此列表批量输入数据库时导致错误。
最后,我想知道是否有一种方法可以不将失败的项目包括在结果列表中,而不是将所有项目都包括在内,或者根本不包括
1条答案
按热度按时间5jdjgkvh1#
我能想出的解决办法是:
获取格式为“[index]”的errorArgs.ErrorContent.path,去掉“[”和"“,将其解析为整数,并将其存储在列表中。
在所有情况下都将error handled设置为true,然后一旦完成了重新排序,我就使用这个整数列表来删除违规项