Класс, который я декодирую, использует строковые поля, а декодер Newtonsoft по умолчанию преобразует логические значения в json-файле в строки в верхнем регистре. Вероятно, он вызывает ToString() логического типа, что приводит либо к "True", либо к "False".
void Main()
{
var foo = JsonConvert.DeserializeObject<Foo>("{Prop:true}");
Console.WriteLine(foo.Prop); // output: True, desired output: true
}
public class Foo
{
public string Prop{get;set;}
}
Поскольку поле может быть либо строковым, либо логическим значением в json, мне нравится иметь собственный декодер, который всегда преобразует логические значения json в «true» или «false» в зависимости от значения.
Любая помощь будет оценена по достоинству.