您可以使用自定义JSON转换器执行此操作:
class DecimalJsonConverter : JsonConverter { public override bool CanConvert(Type objectType) { return objectType == typeof (decimal); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { throw new NotImplementedException(); } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteRawValue(((decimal) value).ToString("F2", CultureInfo.InvariantCulture)); } }
这是一个非常基本的转换器.您可能需要扩展它以支持其他浮点类型,或者甚至是整数类型.
现在实例化您的序列化器并将其传递给您的自定义转换器,如下所示:
var serializer = new JsonSerializer(); serializer.Converters.Add(new DecimalJsonConverter());