У меня есть этот JSON:
{
"Foo": "A value",
"Bar": 42
}
Чтобы десериализовать его, у меня есть этот класс:
public class SomeClass
{
public string Foo { get; set; }
public int Bar { get; set; }
}
Я десериализую его, используя:
string json1 = "{\"Foo\":\"A value\",\"Bar\":42}";
var MyObj1 = JsonConvert.DeserializeObject<SomeClass>(json1);
Debug.WriteLine("Foo1 : " + MyObj1.Foo); //Foo1 : A value
Debug.WriteLine("Bar1 : " + MyObj1.Bar); //Bar1 : 42
Мне нужна особая обработка, когда в JSON отсутствует поле.
Например:
{
"Foo": "Another value"
}
При использовании того же кода, что и выше, Bar
устанавливается в 0. Это можетв исходном JSON было установлено значение 0, поэтому я не могу определить с помощью этого значения, существовало оно или нет.
string json2 = "{\"Foo\":\"Another value\"}";
var MyObj2 = JsonConvert.DeserializeObject<SomeClass>(json2);
Debug.WriteLine("Foo2 : " + MyObj2.Foo); //Foo2 : Another value
Debug.WriteLine("Bar2 : " + MyObj2.Bar); //Bar2 : 0
Как мне его достичь?