Подтвердить что ты не робот

Преобразование int для bool с Json.Net

Я вызываю webservice, и возвращаемые данные для поля bool равны 0 или 1, но с моей моделью я использую System.Bool

С Json.Net можно ли вывести 0/1 в bool для моей модели?

В настоящее время я получаю сообщение об ошибке

Newtonsoft.Json.JsonSerializationException: Ошибка преобразования значения "0" для ввода "System.Boolean"

Любая помощь будет потрясающей!

4b9b3361

Ответ 1

Закончено создание конвертера

 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);
    }
}

Затем в моей модели

 [JsonConverter(typeof(BoolConverter))]
    public bool active { get; set; }

надеюсь, что это поможет кому-то еще