I am calling a webservice and the returned data for a bool field is either 0 or 1 however with my model I am using a System.Bool
With Json.Net is it possible to cast the 0/1 into a bool for my model?
Currently I am getting an error
Newtonsoft.Json.JsonSerializationException: Error converting value "0" to type 'System.Boolean'
Any help would be awesome!!
Ended up creating a converter
public class BoolConverter : JsonConverter { public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteValue(((bool)value) ? 1 : 0); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { return reader.Value.ToString() == "1"; } public override bool CanConvert(Type objectType) { return objectType == typeof(bool); } }
Then within my model
[JsonConverter(typeof(BoolConverter))] public bool active { get; set; }
hope this helps someone else
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With