我有一个类将小数序列化为JSON,如何四舍五入?
public class Money
{
public string Currency { get; set; }
public decimal Amount { get; set; }
}
,并想将其序列化到JSON。如果我使用JavaScriptSerializer
我得到
{"Currency":"USD","Amount":100.31000}
因为我必须符合需求JSON最大两位小数量的API的,我觉得它应该有可能以某种方式改变JavaScriptSerializer
连载小数场的方式,但我不知道如何。您可以在构造函数中传递SimpleTypeResolver,但只能在我能理解的类型上使用。可以通过RegisterConverters(...)添加的JavaScriptConverter似乎是为Dictionary
而制作的。
我想获得
{"Currency":"USD","Amount":100.31}
我序列之后。另外,改为加倍是不可能的。我可能需要做一些舍入(100.311应该变成100.31)。
有谁知道如何做到这一点?有没有可能替代JavaScriptSerializer
,让你更详细地控制序列化?
您只想在序列化时舍入金额吗?您可以添加另一个属性到类中,然后序列化它来代替Amount属性,并将原始的Amount属性标记为不被序列化。 –
@MarkSherretta是的,我只想在序列化为JSON时舍入。我可以做到这一点,而不把它变成一个字符串(“金额”:“100.31”)?一个舍入的双字段序列化? – Halvard
最好我想只是在一个地方的变化。在我的情况下,可以对所有要序列化的小数执行它(不只是在这个对象中)。 – Halvard