【发布时间】:2015-09-24 18:49:59
【问题描述】:
我想在它被反序列化为我的对象之前验证 json 输入
例子:
{"ID": ["1234"]},有效 = 并被反序列化为我的 POCO 类
{"ID": ["1234",不是一个有效的 JSON,我想抛出一个错误
我想抛出一个错误,但现在 Web API 可以优雅地处理它并反序列化到适当的类。无论如何我可以在输入 json 到达我的控制器之前拦截转换并验证它吗?
【问题讨论】:
-
我假设您的 API 没有被命中并且您怀疑 JSON 的格式不正确?
-
没有我的 API 被击中,并且输入被反序列化,但我期望一个错误而不是因为它不应该反序列化没有正确格式化的 JSON,就像最后没有括号
-
这很有趣,因为我希望反序列化 {ID:["1234"] 会抛出异常,因为它格式错误。此外,{ID:["1234"]} 也不是有效的 json...您使用的是什么序列化库? JSON.NET?
-
感谢您指出这一点,刚刚编辑过。
-
您是否尝试过使用 ModelState.IsValid 检查是否失败?
标签: c# json asp.net-web-api2