私の.netアプリケーションで私はSystem.Web.Mvc 5.2.3.0を使用しています。私のクライアントは、コンテンツタイプとJSONを投稿されています。私のコントローラは、このjsonで小数点を認識するためにasp.net mvcを取得するにはどうすればよいですか?
[HttpPut(), Route("/ExchangeRate/{exchkey}")]
public HttpResponseMessage PutCurrencyExchange(string exchkey, [FromBody()] JObject jsonData)
{...
を受信した時点では「アプリケーション/ jsonの」
{From: "EUR", To: "USD", Rate: 0.00001}
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が10進数として小数を正しく表すことを可能にする簡単な設定変更が欠けていると思っています。注:クライアントが値を文字列化すると、正しく解析されることを認識しています。しかし、私はエンドポイントの消費者が最初に値をストリング化するよう指示することはできません。
というのが私の間違いを変更することができるしている場合ではなく、身体からより個々のパラメータを含むコントローラのアクションとのより良い運を持っていた...レートではなく、文字列ダブル、として来ています。ウォッチウィンドウはちょうど1E-05としてこれを表しました。ダウンストリームは文字列に変換されていましたが、小数点に変換しようとしていましたが失敗していました。私の悪い。 –