2010-04-22 11 views
7

Mam wiadomości przychodzące, które muszę spróbować przeanalizować w mojej strukturze obiektów. SOme z nich to dobrze uformowane obiekty JSON, a niektóre to po prostu nonsens.Sprawdzanie poprawności wyniku JsonConvert.DeserializeObject (myśl "spróbuj parsować") przy użyciu JSON.Net

Do tego celu używam JsonConvert.DeserializeObject<MyObject>(incmoingString);. To jednak czasami daje mi wyjątek, gdy przychodzące są totalnymi śmieciami. Innym razem otrzymuję niedokończoną strukturę obiektu, gdy przychodząca struna jest w porządku - i na koniec czasami działa.

Zawinęłem konwersję w próbie/catch i ręcznie sprawdziłem, czy otrzymałem właściwości, których potrzebuję do deserializowanego wyniku.

Czy jest lepszy sposób to zrobić?

+1

Prawdopodobnie nie, chyba że "konwerter" umożliwia dołączanie zdarzeń takich jak "XmlSerializer" dla nierozwiązanych encji/atrybutów. – leppie

Odpowiedz

4

Json.NET obsługuje JSON Schema. Można utworzyć schemat z wszystkimi wymaganymi właściwościami zaznaczonymi i zatwierdzić przychodzący JSON przeciwko nim przed deserializacją.

+2

Jak by to zrobić? – Zoltan

+2

Czy nie ma sposobu, aby po prostu sprawdzić poprawność schematu JSON? – Jordan

Powiązane problemy