使用 Newtonsoft.Json 自定义转换器 将 是 否、0、1,true ,false ,yes no on off 等格式的json数据转换成bool
internal class BoolConverter : CustomCreationConverter<bool>
{
public override bool Create(Type objectType)
{
return true;
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == Newtonsoft.Json.JsonToken.Null)
return false;
try
{
string str = reader.Value.ToString().ToLower();
return str.Equals("true") ||
str.Equals("1") ||
str.Equals("yes") ||
str.Equals("on") ||
str.Equals("是");
}
catch
{
return false;
}
}
}
自定义转换器可以转换多种json格式的bool数据,使用以上方法也可以将各种自定义格式的数据进行转换