首页 / 问答 / C#/.NET Core(.NET 7) 程序中如何使用Newtonsoft.Json格式化并保留2位小数呢?

C#/.NET Core(.NET 7) 程序中如何使用Newtonsoft.Json格式化并保留2位小数呢?

.NET C# 格式化 .NET Core JSON 1.04K 次浏览
0

在C#&.NET Core的应用程序编程开发中,使用Newtonsoft.Json.JsonSerializer对小数进行序列化时,应该如何设置以便将小数序列化为指定格式,例如:保留2位小数或者将小数转换成字符格式。

例如,将3.5序列化为"3.50"

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    你需要编写自己的自定义Json转换器,并使用它来拦截decimal类型,以便更改其序列化方式。以下是一个示例:

    然后,在使用JsonSerializer进行序列化时,将自定义的转换器添加到JsonSerializerConverters集合中:

    这样,你就可以使用自定义的Json转换器来控制小数的序列化方式,确保它们始终以指定格式进行序列化。

    Rector的个人主页

    Rector

    2023-05-18 回答

    • 0

      如果你希望JSON中的小数是数字而不是字符串,你需要使用WriteRawValue,并且在字符串格式化时使用:0.00而不是:N2(因为N2包括千位分隔符逗号和其他特定于文化的数字格式化,这会破坏你的JSON)。

      以下是相应的示例代码:

      然后,在使用JsonSerializer进行序列化时,将自定义的转换器添加到JsonSerializerConverters集合中:

      这样,你就可以使用自定义的Json转换器将小数以数字形式进行序列化,确保它们以指定的格式呈现而不会破坏JSON结构。

      Rector的个人主页

      Rector

      2023-05-18 回答

      我来回答