JSON到Javascript序列化/反序列化验证

JSON到Javascript序列化/反序列化验证,javascript,c#,asp.net,json,validation,Javascript,C#,Asp.net,Json,Validation,很多时候,我们会遇到使用JSON格式的代码,而没有实际的数据契约验证。e、 我有一个ASP.Net服务器端代码,它向Javascript客户端返回一个序列化的答案。此外,该客户端使用响应中的一些值进行其他服务器端调用。虽然不是很常见,但我们确实看到有人在服务器端增加了数据类型,以非常糟糕的方式破坏了客户端。我正在寻找如何实现适当的构建时验证系统以避免此类问题的建议 让我用一个假设的例子来解释。客户端调用getCars(int-employeeID)==>响应对象具有List。使用CarID从UI

很多时候,我们会遇到使用JSON格式的代码,而没有实际的数据契约验证。e、 我有一个ASP.Net服务器端代码,它向Javascript客户端返回一个序列化的答案。此外,该客户端使用响应中的一些值进行其他服务器端调用。虽然不是很常见,但我们确实看到有人在服务器端增加了数据类型,以非常糟糕的方式破坏了客户端。我正在寻找如何实现适当的构建时验证系统以避免此类问题的建议

让我用一个假设的例子来解释。客户端调用
getCars(int-employeeID)
==>响应对象具有
List
。使用
CarID
从UI到
getCarDetails(CarID)
进行迭代调用。现在早些时候,
CarID
的数据类型是
int
,最近更新为long。Javascript有一个限制,最多只能处理15位数字,因此在客户端,任何反序列化的数字都向上舍入。这导致结果不准确

如果有任何建议,请告知我如何提前实施一些验证/合同,以解决此类问题

正是为此目的而设计的,优秀的JSON.NET库支持它。

如果您的C#控制器设置为接受普通类(只有属性,没有方法),那么映射器将正确填充该对象。它甚至可以接受数组和嵌套数据。