【问题标题】:Json.NET Primitive Types - use Decimal instead of DoubleJson.NET 原始类型 - 使用 Decimal 而不是 Double
【发布时间】:2013-03-15 02:53:39
【问题描述】:

从 JSON 解析浮点数时,如何让 JSON.NET 返回小数而不是双精度数? (它是一个带有Dictionary<string,object> 的对象,已序列化)。

我已尝试编写 JsonConverter,但 CanConvert 方法不会被 Double 类型调用以尝试转换它。还有其他关于覆盖 JsonTextReader 的代码,但这在最新版本的 Json.Net 中似乎是不可能的。

【问题讨论】:

  • 您如何阅读 JSON?我希望如果您定义了一个具有decimal 属性的类,并使用JsonConvert.DeserializeObject 方法,它会反序列化为小数。
  • 啊,抱歉 - Markdown 修改了我的描述 - 这是一个带有 IDictionary 的对象

标签: c# json.net


【解决方案1】:

在 Json.NET 5.0 中,Newtonsoft.Json.JsonSerializerSettings 类新增属性FloatParseHandling,您可以设置该属性值Newtonsoft.Json.FloatParseHandling.Decimal

【讨论】:

  • 关于如何为特定类或属性执行此操作的任何提示? IE。不影响全局反序列化设置(即使我无权访问这些设置),而是在非常特定的地方覆盖此行为。
猜你喜欢
  • 1970-01-01
  • 2015-02-14
  • 2012-07-02
  • 2022-12-13
  • 2013-02-02
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
相关资源
最近更新 更多