在我的.net应用程序中,我使用的是System.Web.Mvc 5.2.3.0。我的客户正在发布内容类型为"应用程序/json"的 json。
{From: "EUR", To: "USD", Rate: 0.00001}
当我的控制器收到此消息时
[HttpPut(), Route("/ExchangeRate/{exchkey}")]
public HttpResponseMessage PutCurrencyExchange(string exchkey, [FromBody()] JObject jsonData)
{...
JObject的速率是一个字符串"1E-05"。
我读过有关自定义转换器的信息https://www.newtonsoft.com/json/help/html/N_Newtonsoft_Json_Converters.htm和合同解析器https://www.newtonsoft.com/json/help/html/CustomContractResolver.htm
我发现了许多非常古老的反序列化强类型对象的示例。但是,我希望我只是缺少一个简单的配置更改,它将允许我的控制器的 JObject 正确地将小数表示为小数。 注意:我认识到,如果客户端字符串化值,它将正确解析它。但是,我无法指示终结点的使用者首先字符串化值。
能够更改它,那么包含单个参数而不是来自正文的控制器操作的运气更好