想去掉小數點,可以在Entity上面加converter
透過converter,取到的資料已經做好處理
參考範例如下
public class TestEntity {
[JsonConverter(typeof(CustomDecimalNullConverter))]
public decimal val {get; set;}
}
void Main() {
var settings = new JsonSerializerSettings();
settings.Converters.Add(new CustomDecimalNullConverter());
var result = JsonConvert.DeserializeObject>(json, settings);
}
// For completeness: A stupid example converter
class CustomDecimalNullConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(decimal);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.Null)
{
return 0m;
}
else
{
return Convert.ToDecimal(reader.Value);
}
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue((decimal)value);
}
}
Ref: https://stackoverflow.com/questions/51885268/custom-rule-for-deserializing-decimal-values-in-json-net
沒有留言:
張貼留言