Web サービスを呼び出していますが、bool フィールドに返されるデータは 0 または 1 ですが、私のモデルでは System.Bool を使用しています。
Json.Net を使用すると、モデルの bool に 0/1 をキャストできますか?
現在、エラーが発生しています
Newtonsoft.Json.JsonSerializationException: 値「0」を「System.Boolean」型に変換中にエラーが発生しました
どんな助けでも素晴らしいでしょう!!
Web サービスを呼び出していますが、bool フィールドに返されるデータは 0 または 1 ですが、私のモデルでは System.Bool を使用しています。
Json.Net を使用すると、モデルの bool に 0/1 をキャストできますか?
現在、エラーが発生しています
Newtonsoft.Json.JsonSerializationException: 値「0」を「System.Boolean」型に変換中にエラーが発生しました
どんな助けでも素晴らしいでしょう!!
コンバーターを作成することになった
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; }
これが他の誰かに役立つことを願っています