Używam JSON do wymiany danych. Używam framework JSON.NET.JSON.NET: Obsługa nieznanych członków podczas deserializacji
mam klasę:
public class CarEntity
{
public string Model { get; set; }
public int Year { get; set; }
public int Price { get; set; }
}
I mam następujący kod:
public void Test()
{
var jsonString =
@"{
""Model"": ""Dodge Caliber"",
""Year"": 2011,
""Price"": 15000,
""Mileage"": 35000
}";
var parsed = (CarEntity)JsonConvert.DeserializeObject(jsonString, typeof(CarEntity));
}
Ponieważ nie ma "Przebieg" pole w klasie CarEntity muszę logować się ostrzeżenie o tym:
Nieznane pole: przebieg = 35000
Czy jest jakiś sposób na zrobienie tego?
Czy nie działa. Wyrzucono wyjątek JsonSerializationException i błąd ErrorHandler został anulowany. – wishmaster
Pełny kod jest tutaj: http://pastebin.com/zjztsZDx. Jeśli masz problemy, pokaż mi swój kod –
OK, dziękuję. To był problem dla JSON.NET w wersji 4.0. Po aktualizacji do wersji 5.0 został wywołany ErrorHandler. Ale wciąż nie ma rozwiązania dla mojego pytania. Skąd mogę wiedzieć, że nieznany członek jest przyczyną błędu? Mam komunikat o wyjątku: "Nie można znaleźć elementu" Przebieg "na obiekcie typu" CarEntity "..." Ale wiadomość parsująca jest nie do zaakceptowania. – wishmaster