Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

How can I make JSON.NET return a decimal instead of a double when parsing floats from JSON? (it's an object with a Dictionary<string,object> that is serialized).

I've tried writing a JsonConverter but the CanConvert method doesn't get called with a Double type in order to try and convert it. There's other code regarding overriding JsonTextReader but this doesn't seem possible in the latest versions of Json.Net.

share|improve this question
How are you reading the JSON? I'd expect if you had a class defined, with a decimal property, and used the JsonConvert.DeserializeObject method, it would deserialize just fine as a decimal. – Joe Enos Mar 25 at 14:58
Ah, sorry - Markdown munged my description - it's an object with IDictionary<string,object> – James Crowley Mar 25 at 15:01

1 Answer

In Json.NET 5.0, Newtonsoft.Json.JsonSerializerSettings class has the new property FloatParseHandling, you can set this property value Newtonsoft.Json.FloatParseHandling.Decimal

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.