【发布时间】:2017-10-17 08:53:51
【问题描述】:
在我的 .net 应用程序中,我使用的是 System.Web.Mvc 5.2.3.0。我的客户发布 json 内容类型为:'application/json'
{From: "EUR", To: "USD", Rate: 0.00001}
当我的控制器收到这个时
[HttpPut(), Route("/ExchangeRate/{exchkey}")]
public HttpResponseMessage PutCurrencyExchange(string exchkey, [FromBody()] JObject jsonData)
{...
JObject 的 Rate 是一个字符串“1E-05”。
我已阅读有关自定义转换器的信息 https://www.newtonsoft.com/json/help/html/N_Newtonsoft_Json_Converters.htm 和合同解析器 https://www.newtonsoft.com/json/help/html/CustomContractResolver.htm
我发现了一些非常古老的反序列化强类型对象的示例。但是,我希望我只是错过了一个简单的配置更改,它将允许我的控制器的 JObject 正确地将小数表示为小数。注意:我认识到如果客户端将值字符串化,它将正确解析它。但是,我无法规定我的端点的消费者首先对值进行字符串化。
【问题讨论】:
-
我的错误...... Rate 是以 Double 的形式出现的,而不是字符串。监视窗口只是将其表示为 1E-05。在下游,它被转换为字符串,我试图转换为小数,但失败了。我的错。
标签: c# asp.net-mvc json.net