在Asp.netwebapi中为数字自定义或更改Json转换器

本文关键字:Json 转换器 自定义 数字 Asp netwebapi | 更新日期: 2023-09-27 18:01:04

我有一个网站,大部分功能都是使用asp.net webapi实现的。问题是,一些用户有特殊的键盘布局,其中有非标准的数字字符,一个是۰۱ۼ۩''178 0; ''17.81;̎''۷Ấṽ,而不是0123456789。

现在我需要一种自定义asp.net webapi或Json的方法。Net来处理这些字符串到数字的转换。

我已经知道如何处理这一问题,通过实现JsonConverter并用[JsonConverter]属性装饰Property,但这是错误修剪,因为人们可能会忘记将其放在新的属性上,这是一个很容易在测试中出错并蔓延到生产代码的错误。

我需要一个全局设置,在那里我可以处理所有数字类型(即使我需要单独处理每个数字(。

在Asp.netwebapi中为数字自定义或更改Json转换器

您可以通过以下方式全局注册格式化程序:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new NumeralsFormatConverter());

注册的格式化程序将处理通过CanConvert方法验证的字段。